From f5cab7c0136dc3724bfc72fbeb27f86494b5a209 Mon Sep 17 00:00:00 2001 From: Nils Polek Date: Sat, 9 Dec 2023 17:48:51 +0100 Subject: [PATCH] Testing --- nja | Bin 50381 -> 56947 bytes njvm.c | 2 +- programs/prog1.bin | Bin 92 -> 92 bytes programs/prog2.bin | Bin 100 -> 100 bytes programs/prog3.bin | Bin 124 -> 124 bytes programs/prog4.bin | Bin 132 -> 132 bytes programs/prog6.bin | Bin 104 -> 104 bytes programs/prog7.asm | 28 ++++++++++++++++++++++++++++ programs/prog7.bin | Bin 0 -> 104 bytes 9 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 programs/prog7.asm create mode 100644 programs/prog7.bin diff --git a/nja b/nja index ffb2771646cac6d493680d2c80fe0089b5e01348..c83112025012007790fc26dca7d32ed542f1a649 100755 GIT binary patch literal 56947 zcmeFad0-XQ**`vaZsul^K=zQZ$z=(f5D1$fE;m5%A^{PCvKq47EEaOXpH6d zih}#wQUPmQTSck$RTPv(C1`7l)&(uC*oxkW3koW2vH5*I=bV|$4Pf8*_xAgK|M+%b z<~h%L&UwyrmN_$-ySlJws_t@W)}d<`X~foa@d=W=YMSpEfhyW~EkW~X{WY)V0mZ=S z6C6UBvfxQ&+JdH%a|6cV9Is2lc-5uGK2#-93u-7M59+b3 zsddB%m&8Dg1;TMyK}(OtquyYpH(2Re@PI0q1+DtAZaj-s{fc!TFycM}ZHl;dK+5u% zbtG89bj4zU0{TS4f~Qn|7PRy(haSuMUp-Ql;B1xO+5B=$KY9nfE%EpZuQCl&* zwx%w$V)%;j(^ScOM1Ru`VM)$anc6swZ`Su*4&h;lXebHFU}#oZ|hY#w={Lamyuqd_bpEW>8!`+ z;G~~{JNhj2z**=?XQ8uPXR;qX3w_pE=-baiUw0Pzm1m*%I}3f+S?E`th5puA=)XG) z{rR)dPk`>l+4-0T!kPTG>@4(K&qDvjS?C+jLf>~5`rT)tPdp1f`z&}hGD{6vTWqm`SPHPASo3xUWreJCLH6`WM*OXM2*3^<(UR~O#H3mv+YwOFQS5Z?( z?O=VaR?}1(46YB^BWS>d4`H3_tuLnRz1>z4?~F)vM|o2qHm4m!tf>u7M$yI4fP6%INY z%0A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 OXz&b7hyEhhZvF>=@izeg literal 50381 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 i)T9bp = NULL; break; case PUSHL: - if (debug == 1) printf("PUSHL %d\n", SIGN_EXTEND(IMMEDIATE(instruction))); + printf("PUSHL %d\n", SIGN_EXTEND(IMMEDIATE(instruction))); currentFrame = stack.frames[stack.currentFrame]; currentFrame->bp = currentFrame->sp; int x = SIGN_EXTEND(IMMEDIATE(instruction)); diff --git a/programs/prog1.bin b/programs/prog1.bin index 1a5552c0a91d6198dcb067f80e0a731ced89006f..6f897406ac16cdc47ce67f06d3c39c5a1d63144b 100644 GIT binary patch delta 11 Scma!vVfFKJa$}ju8V&#vNCM9Q delta 11 Scma!vVfFKJa$}yz8V&#vL;}tL diff --git a/programs/prog2.bin b/programs/prog2.bin index a6de7a69a0bf1924f829a85d77a34c12fc3df8fe..be8398dc5bd888cd6ac9df03004b115bfefbc4be 100644 GIT binary patch delta 11 ScmYdEVfFKJa$}ju8V>*w_yXqu delta 11 ScmYdEVfFKJa$}mv8V>*w@B-xk diff --git a/programs/prog3.bin b/programs/prog3.bin index da8f524cee89e1029b7235697c9146b0b31ad827..874da1fdec8bede554c6a919581f7f9030e27a87 100644 GIT binary patch delta 11 Scmb=aVfFKJa$}juS`Gjd2m>zw delta 11 Scmb=aVfFKJa$}yzS`Gjd1OqMr diff --git a/programs/prog4.bin b/programs/prog4.bin index 36d2c44deb82da2752a822a1fdbfe89304446cae..a46397ed4468d7c350a3fd757ae765bec440f3fa 100644 GIT binary patch delta 13 UcmZo+Y++>e^Kx=ynaElX02W*WNdN!< delta 13 UcmZo+Y++>e^Kx=yp2%7c02WvSNB{r; diff --git a/programs/prog6.bin b/programs/prog6.bin index d7abab7d8b9244ade4f7569d40533af884a122d4..fe3f26814261bd019cbd36961ff90d732cb6868c 100644 GIT binary patch delta 11 Scmd1Em|(#C=l}nS#-;!uWd(-- delta 11 Scmd1Em|(!n!oV=m*c1Q}o&u2o diff --git a/programs/prog7.asm b/programs/prog7.asm new file mode 100644 index 0000000..2f579d2 --- /dev/null +++ b/programs/prog7.asm @@ -0,0 +1,28 @@ +// +// prog02.asm -- call/ret with args, but without ret value +// + + asf 3 + pushc 11 + pushc 33 + call proc + drop 2 + rsf + halt + +proc: + asf 2 + pushl 4 + wrint + pushc '\n' + wrchr + pushc 22 + wrint + pushc '\n' + wrchr + pushl 3 + wrint + pushc '\n' + wrchr + rsf + ret diff --git a/programs/prog7.bin b/programs/prog7.bin new file mode 100644 index 0000000000000000000000000000000000000000..da06984a4e3a156c6184b48ac4be6e6aad1c0bfe GIT binary patch literal 104 zcmebCa&lu~U|`PVs-`wDJBL68K5v9NDj#61*+u-GC8<_@<5sk Ss1HQL`9S?B@<2I|UTFZmkphtb literal 0 HcmV?d00001