Example #1
0
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);
}
Example #2
0
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;
}