Hey everyone,
I am writing a basic program titled, "LMC.c" that takes the contents from a file "LMC.s", and outputs them into another file "LMC.o"
Here is the input file, LMC.s
Code:INP 00 STO 90 INP 00 ADD 90 OUT 00 STOP 00
Then here is the program that reads the input file, LMC.c
Code:#include<stdio.h> #include<string.h> int main() { FILE *input,*output; char opcode[5],address[5]; char binopcode[10], binaddress[10]; int i; /* the following codes open the file for reading and the file for output */ input = fopen("LMC.s","r"); output = fopen("LMC.o","w"); while(fscanf(input,"%s %s",opcode,address)!=EOF) { printf("Opcode: %s \t\tAddress: %s\n",opcode,address); if(strcmp(opcode, "INP") == 0) { strcpy(binopcode,"10000000"); strcpy(binaddress," "); } else if(strcmp(opcode,"STO") == 0) { strcpy(binopcode,"00000011"); strcpy(binaddress,"01011010"); } else if(strcmp(opcode,"ADD") == 0) { strcpy(binopcode,"00000001"); strcpy(binaddress,"01011010"); } else if(strcmp(opcode,"OUT") == 0) { strcpy(binopcode,"01000000"); strcpy(binaddress,""); } else if(strcmp(opcode,"STOP") == 0) { strcpy(binopcode,"00000000"); strcpy(binaddress,""); } /* now put the results to the output file */ fprintf(output,"%s %s\n",binopcode,binaddress); printf( "%s %s\n",binopcode,binaddress); } /*end while*/ fclose(output); fclose(input); return 0; }
I cannot get it to output the file into "LMC.o" though. I keep getting a "Bus error (core dumped)" when I compile it. Any suggestions why this might be?
Thanks,
MATT



LinkBack URL
About LinkBacks


