Now HALT works correctly

This commit is contained in:
nilsplk 2023-10-22 13:51:32 +02:00
parent d23727f6da
commit d05c415295

5
njvm.c
View File

@ -50,7 +50,7 @@ unsigned int code2[] = {
unsigned int code3[] = { unsigned int code3[] = {
(RDCHR << 24), (RDCHR << 24),
(WRINT << 24), (WRINT << 24),
(PUSHC << 24) | IMMEDIATE('\n'); (PUSHC << 24) | IMMEDIATE('\n'),
(WRCHR << 24), (WRCHR << 24),
(HALT << 24) (HALT << 24)
}; };
@ -106,6 +106,7 @@ void execute(void) {
switch (programmSpeicher[i] >> 24) { switch (programmSpeicher[i] >> 24) {
case HALT: case HALT:
goto end;
break; break;
case PUSHC: case PUSHC:
stackPush(IMMEDIATE(programmSpeicher[i])); stackPush(IMMEDIATE(programmSpeicher[i]));
@ -145,6 +146,8 @@ void execute(void) {
} }
i++; i++;
} }
end:
printf("Finished\n");
} }
#ifdef DEBUG #ifdef DEBUG