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