diff --git a/src/assemblylineconversion.c b/src/assemblylineconversion.c new file mode 100644 index 0000000..f612329 --- /dev/null +++ b/src/assemblylineconversion.c @@ -0,0 +1,3 @@ +#include +#include + diff --git a/src/assemblylineconversion.h b/src/assemblylineconversion.h new file mode 100644 index 0000000..e69de29 diff --git a/src/fileaccess.c b/src/fileaccess.c index 3ee3831..621de3c 100644 --- a/src/fileaccess.c +++ b/src/fileaccess.c @@ -3,6 +3,7 @@ #define MAX_ASM_LINE_LENGTH 100 +//validates inputted charlist as valid filename against expected extension int isValidFileFormat(char filename[], char expectedExtension[]){ int *pointLoc = strrchr(filename, '.'); @@ -14,10 +15,11 @@ int isValidFileFormat(char filename[], char expectedExtension[]){ return(0); } +//writes a list of words (list of binary instructions) to a named output file int writeBinaryFile(word instrs[], char outputFile[]){ if (!isValidFileFormat(filename, "bin")){ - return(-1); + exit(EXIT_FAILURE); } FILE *fp; @@ -25,18 +27,20 @@ int writeBinaryFile(word instrs[], char outputFile[]){ fp = fopen(outputFile, "wb"); if(fp == NULL){ - return(-1); + exit(EXIT_FAILURE); } - fwrite(instrs, 4, sizeof(instrs), fp); + fwrite(instrs, sizeof(word), sizeof(instrs), fp); fclose(fp); - return(0); + exit(EXIT_SUCCESS); } + +//reads assembly file of "inputFile" name, int readAssemblyFile(char inputFile[]) { if (!isValidFileFormat(filename, "s")){ - return(1); + exit(EXIT_FAILURE); } FILE *fp; @@ -45,12 +49,12 @@ int readAssemblyFile(char inputFile[]) { fp = fopen(inputFile, "r"); if(fp == NULL){ - return(-1); + exit(EXIT_FAILURE); } while (fgets(savedLine, MAX_ASM_LINE_LENGTH-1, fp) != NULL) { //pass line to parser } - return(0); + exit(EXIT_SUCCESS); } \ No newline at end of file