void assemble_line(FILE *file, char *line) { char *buffer = strtok(line, ", "); char *inst[3] = {NULL, NULL, NULL}; int i = 0; while(buffer != NULL) { inst[i++] = buffer; buffer = strtok(NULL, ", "); } if(strcmp(inst[0], "mvi") == 0) { mvi_asm(inst[1], inst[2], file); } else if(strcmp(inst[0], "add") == 0) { add_asm(inst[1], file); } else if(strcmp(inst[0], "sub") == 0) { sub_asm(inst[1], file); } else if(strcmp(inst[0], "dcr") == 0) { dcr_asm(inst[1], file); } else if(strcmp(inst[0], "inr") == 0) { inr_asm(inst[1], file); } else if(strcmp(inst[0], "ana") == 0) { ana_asm(inst[1], file); } else { // should never happen // lol } free(buffer); }
int main() { int status; int a,b,result; printf("Value 1: "); scanf("%d", &a); printf("Value 2: "); scanf("%d", &b); status = add_asm (a,b,&result); // calls the assembly program if (status !=0) printf("Assembler routine returned error: %d\n",status); else printf("The sum is:%d\n",result); return status; }