Now HALT works correctly
This commit is contained in:
parent
d23727f6da
commit
d05c415295
5
njvm.c
5
njvm.c
@ -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
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user