Added the 3 progamms

This commit is contained in:
nilsplk 2023-10-21 21:31:04 +02:00
parent 62ede37645
commit d23727f6da

37
njvm.c
View File

@ -23,6 +23,37 @@
unsigned int programmSpeicher[1000]; unsigned int programmSpeicher[1000];
unsigned int code1[] = {
(PUSHC << 24) | IMMEDIATE(3),
(PUSHC << 24) | IMMEDIATE(4),
(ADD << 24),
(PUSHC << 24) | IMMEDIATE(10),
(PUSHC << 24) | IMMEDIATE(6),
(SUB << 24),
(MUL << 24),
(WRINT << 24),
(PUSHC << 24) | IMMEDIATE(10),
(WRCHR << 24),
(HALT)
};
unsigned int code2[] = {
(PUSHC << 24) | IMMEDIATE(-2),
(RDINT << 24),
(MUL << 24),
(PUSHC << 24) | IMMEDIATE(3),
(ADD << 24),
(WRINT << 24),
(PUSHC << 24) | IMMEDIATE('\n'),
(WRCHR << 24),
(HALT << 24)
};
unsigned int code3[] = {
(RDCHR << 24),
(WRINT << 24),
(PUSHC << 24) | IMMEDIATE('\n');
(WRCHR << 24),
(HALT << 24)
};
// Stack // Stack
#define maxValues 1000 #define maxValues 1000
@ -117,8 +148,8 @@ void execute(void) {
} }
#ifdef DEBUG #ifdef DEBUG
void printStck(){ void printStck(void){
if(current >= 0) {return;} if(current >= 0) return;
printf("----\n"); printf("----\n");
for (int i = 0; i < current; i++) { for (int i = 0; i < current; i++) {
printf("|%i| \n",stack[i]); printf("|%i| \n",stack[i]);
@ -126,7 +157,7 @@ void printStck(){
printf("----\n"); printf("----\n");
} }
void tests(){ void tests(void){
printf("Runnig debug mode\n"); printf("Runnig debug mode\n");
stackPush(10); stackPush(10);
stackPush(15); stackPush(15);