{0, 0, 0, 0}
};
-/* 実行モード: trace, logical, dump */
-EXECMODE execmode = {false, false, false};
-
/* エラー番号とエラーメッセージ */
CERRARRAY cerr[] = {
- { 201, "execute - out of COMET II memory" },
+ { 201, "Load object file - full of COMET II memory" },
{ 202, "SVC input - out of Input memory" },
{ 203, "SVC output - out of COMET II memory" },
{ 204, "Program Register (PR) - out of COMET II memory" },
perror(file);
return false;
}
- endptr = startptr + fread(memory, sizeof(WORD), memsize, fp);
+ if((endptr = startptr + fread(memory, sizeof(WORD), memsize-startptr, fp)) == memsize) {
+ setcerr(201, NULL); /* Load object file - full of COMET II memory */
+ fprintf(stderr, "Execute error - %d: %s\n", cerrno, cerrmsg);
+ return false;
+ }
fclose(fp);
return true;
}