This source file includes following definitions.
- addcerrlist_load
- loadassemble
1 #include "load.h"
2
3
4
5
6
7 static CERR cerr_load[] = {
8 { 210, "load - memory overflow" },
9 { 211, "object file not specified" },
10 { 212, "invalid option" },
11 { 213, "invalid argument" },
12 };
13
14
15 void addcerrlist_load()
16 {
17 addcerrlist(ARRAYSIZE(cerr_load), cerr_load);
18 }
19
20 WORD loadassemble(const char *file, WORD start)
21 {
22 FILE *fp = NULL;
23 WORD end = 0;
24
25 assert(file != NULL);
26 if((fp = fopen(file, "rb")) == NULL) {
27 perror(file);
28 return 0;
29 }
30 end = start + fread(sys->memory + start, sizeof(WORD), sys->memsize - start, fp);
31 if(end == sys->memsize) {
32 setcerr(210, file);
33 fprintf(stderr, "Load error - %d: %s\n", cerr->num, cerr->msg);
34 }
35 fclose(fp);
36 return end;
37 }