diff --git a/njvm.c b/njvm.c index 0fb1964..da44212 100644 --- a/njvm.c +++ b/njvm.c @@ -20,11 +20,13 @@ unsigned int programmSpeicher[1000]; // Stack -unsigned int stack[1000]; +#define maxValues 1000 + +unsigned int stack[maxValues]; unsigned int current = 0; void stackPush(unsigned int value) { - if (current > 100) { + if (current > (maxValues-1)) { fprintf(stderr, "stack overflow\n"); exit(EXIT_FAILURE); } @@ -37,7 +39,7 @@ unsigned int stackPop(void) { fprintf(stderr, "stack underflow\n"); exit(EXIT_FAILURE); } - return --current; + return stack[--current]; } void version(void) {