#include "casl2.h"
#include "exec.h"
+/* 実行のエラー定義 */
+CERRARRAY cerr_exec[] = {
+ { 202, "SVC input - out of Input memory" },
+ { 203, "SVC output - out of COMET II memory" },
+ { 204, "Program Register (PR) - out of COMET II memory" },
+ { 205, "Stack Pointer (SP) - cannot allocate stack buffer" },
+ { 206, "Address - out of COMET II memory" },
+ { 207, "Stack Pointer (SP) - out of COMET II memory" },
+};
+
+bool addcerrlist_exec()
+{
+ return addcerrlist(ARRAYSIZE(cerr_exec), cerr_exec);
+}
+
/* 実行モード: trace, logical, dump */
EXECMODE execmode = {false, false, false};
return res;
}
-/* COMET II仮想マシンのリセット */
-void reset()
-{
- int i;
- for(i = 0; i < REGSIZE; i++) {
- GR[i] = 0x0;
- }
- SP = PR = FR = 0x0;
- memory = malloc(memsize);
- for(i = 0; i < memsize; i++) {
- memory[i] = 0x0;
- }
-}
-
/* 仮想マシンCOMET IIでの実行 */
void exec()
{
char *errpr = malloc(CERRSTRSIZE + 1);
clock_t clock_begin, clock_end;
+ addcerrlist_exec();
if(execmode.trace) {
fprintf(stdout, "\nExecuting machine codes\n");
}