From cec16e0a3e0a9c2084eb811829cf17cb8a1d3ff4 Mon Sep 17 00:00:00 2001 From: Pablu23 Date: Fri, 5 Apr 2024 14:25:29 +0200 Subject: [PATCH] Initial commit --- .../virtualmachine.metadata.v7.bin | Bin 0 -> 185421 bytes .../virtualmachine.projects.v7.bin | Bin 0 -> 210374 bytes .../DesignTimeBuild/.dtbcache.v2 | Bin 0 -> 85362 bytes ...3388e26c-f609-4622-8a76-a345e6875cff.vsidx | Bin 0 -> 14304 bytes .vs/VirtualMachine/v17/.futdcache.v2 | Bin 0 -> 128 bytes .vs/VirtualMachine/v17/.suo | Bin 0 -> 31744 bytes VirtualMachine.sln | 25 ++ VirtualMachine/Program.cs | 351 ++++++++++++++++++ VirtualMachine/VirtualMachine.csproj | 12 + 9 files changed, 388 insertions(+) create mode 100644 .vs/ProjectEvaluation/virtualmachine.metadata.v7.bin create mode 100644 .vs/ProjectEvaluation/virtualmachine.projects.v7.bin create mode 100644 .vs/VirtualMachine/DesignTimeBuild/.dtbcache.v2 create mode 100644 .vs/VirtualMachine/FileContentIndex/3388e26c-f609-4622-8a76-a345e6875cff.vsidx create mode 100644 .vs/VirtualMachine/v17/.futdcache.v2 create mode 100644 .vs/VirtualMachine/v17/.suo create mode 100644 VirtualMachine.sln create mode 100644 VirtualMachine/Program.cs create mode 100644 VirtualMachine/VirtualMachine.csproj diff --git a/.vs/ProjectEvaluation/virtualmachine.metadata.v7.bin b/.vs/ProjectEvaluation/virtualmachine.metadata.v7.bin new file mode 100644 index 0000000000000000000000000000000000000000..8dd3c4ab9f89c922a86736469918e7fa01659041 GIT binary patch literal 185421 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%0D{gg-*HLDgWe@xpZxN<7dbIi&Os9DR*)B zjc~h_)&Ayiey@{kA@0`s2YTR7{QZT$zw!4Edt;HKTI`gUIOS@1Xqv61x>K&>eacrh!sD0>*B8-{tkenKD`Z`s12QRBd5Ha zQ(oRFui%tdbjm9^<&~ZCDyEFpHP*as&FXa}FZL39t}*grZ*l)#4dn^!F}x_)WZwjq z)$z9m{?^3bT8uHt_QTrzv`$i&nG4o+YF^JNukV!kI4Q|t1L`+)JWZYQMozg2?lET1 za)#U3v2T);P2HP1p3R(cGgHRz`B~o{~hIt)22VPI+6Wyq!~S?v%H8 z%KW8_t*eD&-@z%jbjq!qGGF*0J+>oTu#@B2*(vkRBwNESj=i;0Zez+=I$@;U9MA67 zvj;tUI-b3p^4@imEn^>S4V+Ee;{Sc|w;xse+ZYG%(}9leAg6q=Q$EBgA8N|@xi-~@ zJDzq&UUj?2E@C=cCB(X!l?4p<>|$2m8-#O-DNsj&aI^ zJys{jbF5S5$&rj$=elx8LWRc}H%eVt|MB>U|GLWid8!F=&g`=>fKuyr;&`P!AP*<5>$$aaO>y0a2u`5^;q}1zyVz#9WCB zP=$9Ud3Y5&DY;JQL*v;dm(;h)V#hVCsvD z3-A0~F5{W~V7`BM)RvT)M!2gUlW=fAZg(@dh+pBpats<~oW>#-fW&L&TgJR5DgvJo3e+ z|H5fpoXQ#f$H=Kgha_iqUD6wp#w8|ln0!ep@})8Ir77}dG4f?8@`PB<6H+-}9*cZ= zD)QhMd2ot+rWurQZ(x1L>$)~3=hVVt($8&DIXA%x1_mWe#;Z8I$UM%fLK3 zBV(c3MjpaV_6igE6!Y`0J0~pKc#dq()+x_9OD2#j6)x<;0A9u7)d~-GVF0gTaj3$B zT^J=NI!p-+yO-#2g$KKr=(P$D_R1xCoe~&!FVX829_(JCHz+*VE0<_LvuS5G6WF~( z`zt)yy+m(R5{12TiH=YL!|o+|lfr}DOY~-i2YWWrTNJYFOmMn8Q=vV2s}d7-FVUiU z^fo1^Bnsz$O`^s0=>O}`7t^EvUx|+7CZkRG*2xtu(A;yb%wCUkG5aI@+hZ|N7glbu ztzjXS#lFhy0J|`Nqw?~=0Bw4a`I(9_-$UL6qm57)0yEsRN?Qi9s};IWc%TdR&1Q zvE<|-S|=Fb$;rbcrLC~r!7J`qrd1poxXDW8u$MG&&nWR=_XaM?D`DWG@%|SF?pdXy zVJ~Umo>St%?hRa&SHi$W-r%_oSiF4%cF)uc4N9 zhZlMcRcMEgRXP%O@1)`X^%`o~pqOR#DjAfjzJ^*hcvU}mRdx+k=-?H44YjnV!$Pm2 z3Y`v@_BGTr^KDw@I0}2^uAyF1=55%$69et^9(M1y8o?#dqo*I*h?C?=(UV9 za8X_f0~d|=Zy7jT*95Om<*HDFac%j!&OS{7hy@o2Z!^bKe3HyJ~HPo^}sru9KD*GO4+2B?E z;4Rf_s8WtUgL#VfPOBT1?oz z1Ag=x#W_=p@=7>Ui^lu6oT+J@92&T3%D};1(!fQpQJjH`@=6%EXuSW$fqPvUIM_=X zxac*CGjLH}2?H06_iq`vE0n>IJq}Ly>y9@RF6`dGX)$5?K_r zMe8l$+UPAMKiKWp>~BZE+K1P>KSI0KkwJm8ltIyA!d|6=Qt0(lp@TA3>1^2ld#;}f z-BXqgiaAv;>gLL-{tjx{;QfoQp9&qkLa(2q(~@&?QRp$M(CepYz0NVJ(Ceoe%Crf4 z<*uLJQ3Av6ofK%N_RFrHvNz8BNAAy?sSF(KB@JBkI>y;kqP!AL!=v&3EvMny-XUjv zaJnlNvy_2@y`+JQUdK2C7v+^OaM5`GmVwi*b!6b+bWhdaRR#`rZ{W0;uzRQK?A_?`s=4c2c^(c^=RifdsCrswgAzUkUn+xA)z?qU2CwP|ugboEDs=D) zy?%;LOC?N)gq|7$3+grut{)a-ZpJprZV9#DZX$SDoNx>W?Fzh9r6nw12gWWqR zn5*z$FX^NpTCa2b`B$726gnt{o)kno$Jq-C9h5>(3ZnHogYvI9DOffrRexNmvYS$t z4PMm`UX`5`6gqf?o)kolus2d?DnKU zZk#Vuc(8lF3XeW3iN}HD7jU0Zr=7i6r@SUg(#Sn3FY}WH=dmrHGv*gcqOg~jfdTxI z#pq*OzyRed^6>bR;4Qtd3j_Eyi_xD{fKhV8pH~uq-HuRE4Uhij#A$f+w~XkTDsOlJ zcNZ4b@aT^?_~Lr6>zCn z)JR5Gw44S-m;1O0m)f8L4pT)nD0((tLW92Hh<&RJr**m`lst$uHoGoh%vS7bz^qwRgQByh)1ZY)gJ7>*g9?}pi)v7G zHvCUC=nbW(V7IeeQ4N}|#DiTnO4I*%Bd5ZH-5a5w`1xmrY@O~VSHM2>3uFGO#DpEM z|Ae!=>^Bx=AIiL~5-(?AKzWSd7kcV1P1)ynmD&VfVfXS)}k_x8H;;W^swa zgB|Z*g)=#>***x4xOM(FbWpW=;gf9Gy$-6b@L=~ksD{FWy>cD&ywdZq+exdaEhu_e z8HLJ{EvV2As;M*__Ww)=6>yj;s)M43ssDlws>P12t@OHe^6kN9`zYu-whm)P=N2&R zK5pv>?&H?!CQ!g8ED6+A8U;IE=un9S3fM%dHh}`pJgPQ<0!!CO<-k(3w!AatfB;!1mJWNSXJS|UU~wJ zm7tOUoNfZoDZ3%;r6;gjECD#(1fEe6fW7ntn#2--(@kKak^t|O$E zC_LD+dqFW9;hIWd*h^2Kn2m5PB>~t=PoS8MaBU?4*h^2Kn2m59B>~t=Pv9(E(LkPA zQImP#tcv%h$meyH3=(JV?I!Cnqe;p>BhK~f`Q#0h$U*YH#YEn)n8;0wA#YR+d0B5H z7yHY$jWTEB-Q0q*-^4_YReV;;#DeqH&7ompNsCeUF znq^*42nKjtv)*l##=tHNdvd%jKW}Hq!_qCc&g8_XIl0>_T-eLYzyP*jaR-G5yD+>2 zS}J5o08Tf7Rtgt(FM%Bu9_-l!c2dZa0Gw_DJ1bn+y##hqc(7*^XswVX0XW?R+9+Ju zy##huc(7*^*i9iz0&uzs?5=QO_Y(LDFF1uIvt7ZSO<)fts3ZWVo4}q57j`d!WH}*| zfGj6qGxavYy_BGm0Gw_Ddn;Vny#$g4l}rM#XM12DC8#6-r<*`qg$uivK(eHiNkG2L zO83CNN>E7vPB(%56fW#u0?BehCIQ&9J+QwLR1$#GP2d293%i#R^h_#CD2*n!JbXvIE5?;!09H? zMd8BkC2+jLgFTx-SA{GI!09G%g2IK}OQ4&=gFTx-cZDno!09G%qQZsUOCY(WGBXj$ zEtSr(pa*q5m7vz?CeTaa!tNz-lEQ=C>jA0bWQA;(@mhC!iC*S;9P|Vdp3do3Rx0>(@kK2!iC*S;5>x~dp3dd6|y7%r<=e9 z3Kw=SfeRHL?AZh^Qpl13oNfXG6)x;v0)rGD?AZh^R>+b7oNfY_C|uaR1TIy0uxAsv zOd(4GaJmUxu5e-Z5*V!TV9zEnL?KH8aJmUxp>SdM61Y;~!JbXvDupZw!09G%wZetn zOW_0y1coYH*u4aXDLmM-2@F@rk^r1;0@o^B*u4a;d0y`<>Py#zET-dz?c2Rh+ zXA@|xkV6TyQMj;s3GAxyV9zG7n?epHu)D&A-Aka*B^s$?4<%?Qfjt#2>|O$eF40IG zdnrLf3GA(KVfPX!bcsgl*hdK(N}#R6h22Y_&?OqF1FJB>MTbxV`zc)5y#xwfqLDiG zSAvETz*0;wS=hY<3SFX+I|PHXqVQnP&I5-kOW-Jl2YWVwjtV)H z0G48c3Bc|paE!u(J)1x$g&ax%OEJL&VD}Q}tngsZCUBfW4kdu4m|z01dkGw`@Lj69~|b~q8= z9V6deLB5A++-u19rPIhcO=sMX+pl;F6$d-T6?=IZ7`8LUGVlW?@Pj6B#m!=gGuJ-( zJT68aSCO)iABvG5N|7IqksnTxABmA4Ns%9oksnQw$H&OyE69(r>yihOJZ`$KOVGvw`0-c(TcO zR*lpoCj&sI6F8Z+GF;fbz|XL2t~57PHckf?=d%@?kbE9i4EefZ$o((}Ae+L{7*R~* zM~jL4oayGm(paNF^7HKHw&o6}XXPsk=O~ppa}$?*e!)aOLI!2ZlV8tWw8F;>k~n?x zi-z1w$oGG?_Af5^#flLW@k=rCODXcpG4jhP@+&d&D=G4;G4iV^@@p~jYbo-S7S;dgwEr$GF zG357)A%9Q|`NLw!AH~QYr8cD5G4kvb8D|QdpTm>PoD>;zl}`RRMV=cY&rOjZGPCGl znd>f^?9X+dq{t^0L!M{SC@k`)#gNO2A%AAbnPaz1-k+r!xWpU>!{jA+APi0lc$OyO z&rRep!2{6esmT0A1B6%Bk<*Q)Gfw^KIXPF9NW*L7B7ec7(w8Rkc`_&$p4Q@vJZh6tV<3<=aAD5|u2w%hDN5k#a5@>+P`I#X1J_i@61Y|+0@scOuHy$Tsw?Wo z0@w2c7u6N@V}Tp^fs4wxVJvVXKX6eQFBc2EydQW4g$sLjt5{JX%T}?HAGoNlSUDDW zl}ZF&H5RyWB?7M&3*5vHT-4yL9t*sNAGoMVXw6vQwJH&K?O5P-DiL_ySm5<45qSMr z;0-Dfc*9uWrj-c1Q7rJrl?c2^Ebyk42)tP=aI;DT-aHm~i%JCEG8TBNN(A0I7I+&! za8Yx`wz0t5`GK1&T-dV{{q_o3Ci)hB;G!m>9b$o7Rw8h#Sl}Hi5qPIq;GHWGc$Zk< z)|Cj{CKh~_4jLYD1#A3tzgg$sK&@V*LJ0`KPs zE-K^wV}TFw0~eL?fw8~``GJed_~2OJL;S!+WqfEX@L_)7qB1@_7Py@sxTuWV#{wVW z2kxM7Vb5-EM=E65+>Y`C7nO0xSm2{85%`!`;7*kYd~7UmXFqUJeSBOja2G#tQGI;8 z37lC4l)>v-Keu2ZpHGO9yZKopN8U`};2K2tSl|;Y5x7SzaL-Bv?iCAsk{>v^+RStX z?Ag8Pfk?Ssu`xlohJ%it<6 zJG){k>C4Z_5_+bm#CcANoGhUiMoyN{^OE~9jfF@V|7D)8B+fr;=cd1NN$zj@EJGIO zfQp>YBl&!VEY1rm$QP1)kwO;dzzXspk}p=s;=H7Sd@0G7DP(b8UO^sA@(_hA&MPX& zSCV{{LKf%MDe^Tj^3V$MFh(A(ki~gz1^GIXuUE+8yrF`8BgtCViE{)ZnI-9!YJ&TV z`9>%++CT8AD=XE^Z5lT*@XbmV;=IKV{Ff5=Rt9nc-^R})mB8Y>y|lo0Fz_fPusBEi zffp$m-if z>c%Qbit~Z`_Gh+|z=H~RTq=Qw6yC$+Ipg{WKR;^7%hlrdjhp{)p#2Ilaptxz`8+;G z9$&GI3;8iaK3pPC?S1y-MFa5tdwE&n%td~jX*{7s7Uz={k>&GKG4g~8@98-y!qQn0mfunb+Vx5(+gD>@>CA;qrsqIlnV!@6z7`8iXD;x<=HYx7 z@+o3Y*eSUYE-%a6jsT}O!t(hWvyq3%Q!B=88pW?O;Xq{TOg3I_4rUU~gnh$wFr&Pw zv1F=+m(Ax+Cef$Is)p04+U}5<%HJxr^0#A^!&yk>GfJ)eomk~?I+ZJ(KC{%SXT_?9 zGk?|ZmRj|Dv8v&8s#eGQ{ZcFcAXYh?g;f4wsg-{es~pZkDxY0y<#S?{!&yk>AD3GB z+*svs7E<{qrB*&KRymx7RQ_qHm6ydThqI8%KP$EJ&tsLtSxDtylv??hvC82rr1Gyy zt^Dg)vJ@n z-#X-+=KSg}a{o4gGhEoq%l@he{0~1bGUU`);|@RL%%!|IMoyeQd5IEP$V)2Hkk8c` z$e3i(NSuD;>M?Tl203z#254YSLq5jr9u*f!;;aRy>A9_Pk1bCzHd&V$50qlP1}3rkh_l`~|ZZ(Y72u(fLu0u94{eFj>x@{I|?ONqz8% zE)}(U^`9lxG&Y(&)@1%GPdw>ZH~)aSL}+WlXn{)K^DR?ewFsgAetUBH5Og!JuHb1KGFG6 zjczs3HIZ@1O=^h_zEFL#Z>)}e99^~sb`k!+ri59`gn8|p?KzeHLYJ?bQ=V9@P%}G>o+uEo|^mW z;P>*j-buS@P-oNjqq=Et6x7+YQ#w8Ejf1UM#$M9iM0#!0pbkFiH9x9Jdo$5B3+mtt z>GZTW54Jvk+FJy5Hf=wuoA#DLolQHX)6?F{gc-Q&%hTuO-AME>UCop~bymxcA5
b4VIbCYLkI)+cxZ7;g( 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 literal 0 HcmV?d00001 diff --git a/.vs/VirtualMachine/FileContentIndex/3388e26c-f609-4622-8a76-a345e6875cff.vsidx b/.vs/VirtualMachine/FileContentIndex/3388e26c-f609-4622-8a76-a345e6875cff.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..f9e32b33a1953f4d60e585b0127525bd2d7978be GIT binary patch literal 14304 zcma)?cVLx8y2j@q_TIY&1W5z~2~rb~G?D{prU3#A2=

t%+doz1LOOj=d`?_SNg! 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 literal 0 HcmV?d00001 diff --git a/.vs/VirtualMachine/v17/.suo b/.vs/VirtualMachine/v17/.suo new file mode 100644 index 0000000000000000000000000000000000000000..31dfd9508e662f35bcdcdd6038d8156a75971370 GIT binary patch literal 31744 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 X{Hhwihaq2&K%VB2Aa;aq(*FMk87)|r literal 0 HcmV?d00001 diff --git a/VirtualMachine.sln b/VirtualMachine.sln new file mode 100644 index 0000000..863b53d --- /dev/null +++ b/VirtualMachine.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.8.34330.188 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VirtualMachine", "VirtualMachine\VirtualMachine.csproj", "{5F593603-C70C-4549-B9A1-B11999057202}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5F593603-C70C-4549-B9A1-B11999057202}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5F593603-C70C-4549-B9A1-B11999057202}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5F593603-C70C-4549-B9A1-B11999057202}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5F593603-C70C-4549-B9A1-B11999057202}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1A5AFBEB-6C94-4FDD-B0A1-4F71128B9246} + EndGlobalSection +EndGlobal diff --git a/VirtualMachine/Program.cs b/VirtualMachine/Program.cs new file mode 100644 index 0000000..01b16ab --- /dev/null +++ b/VirtualMachine/Program.cs @@ -0,0 +1,351 @@ +using System.Collections; +using System.Text; + +namespace VirtualMachine +{ + internal class Program + { + static void Main(string[] args) + { + VirtualMachine vm = new VirtualMachine(); + + string codeStr = """ + mov r0 %0 + mov r1 15 + mov r2 8 + + mov r3 25928 + mov r4 %1 + str r3 r4 + + mov r3 27756 + mov r4 %2 + str r3 r4 + + mov r3 8303 + mov r4 %3 + str r3 r4 + + mov r3 28535 + mov r4 %4 + str r3 r4 + + mov r3 27762 + mov r4 %5 + str r3 r4 + + mov r3 100 + mov r4 %6 + str r3 r4 + + sav r5 + add r1 r1 r2 + cmp r1 r0 + jmple r5 + str r1 r0 + + mov r7 %0 + mov r8 4 + mov r0 0 + sav r6 + add r7 r7 r8 + ldr r9 r7 + prn r9 + cmp r0 r9 + jmpne r6 + """; + + uint[] code = AssToByteCode(codeStr); + + vm.SetMemory(code); + vm.Run(); + } + + + public static uint[] AssToByteCode(string assCode) + { + string[] lines = assCode.Split('\n'); + lines = lines.Where(l => !string.IsNullOrWhiteSpace(l)).ToArray(); + List bytes = []; + foreach (string line in lines) + { + var inputs = line.Split(' '); + string opStr = inputs[0]; + uint cond = 0; + if (inputs[0].Length > 3) + { + opStr = inputs[0][..3]; + string condStr = inputs[0][3..]; + if (condStr.Contains('l')) + { + cond |= 0b001_00000000000000000000000000000; + } + + if (condStr.Contains('g')) + { + cond |= 0b010_00000000000000000000000000000; + } + + if (condStr.Contains("ne")) + { + cond |= 0b011_00000000000000000000000000000; + } + else if (condStr.Contains('e')) + { + cond |= 0b100_00000000000000000000000000000; + } + } + + OpCode op = (OpCode)Enum.Parse(typeof(OpCode), opStr); + + uint c = cond ^ ((uint)op << 23); + + for (int i = 1; i < inputs.Length; i++) + { + if (inputs[i].Contains('r')) + { + string reg = inputs[i].Replace('r', ' '); + uint par = Convert.ToUInt32(reg); + par <<= 19 - 4 * (i - 1); + c ^= par; + } + else if (inputs[i].Contains('%')) + { + string addr = inputs[i].Replace('%', ' '); + uint par = Convert.ToUInt32(addr) * 4 + (uint)lines.Length * 4 + 1; + c ^= par; + } + else + { + uint par = Convert.ToUInt32(inputs[i]); + c ^= par; + } + } + + bytes.Add(c); + } + + return bytes.ToArray(); + } + } + + + public enum OpCode + { + // Load from memory + ldr = 0, + + // Store to memory + str, + add, + sub, + mul, + div, + mov, + cmp, + jmp, + + // Save next Address to register + sav, + + // Print as ascii + prn + } + + public class VirtualMachine + { + private readonly BitArray _conditionFlags = new(3, false); + + public bool Equal + { + get { return _conditionFlags[0]; } + private set { _conditionFlags[0] = value; } + } + + public bool Greater + { + get { return _conditionFlags[1]; } + private set { _conditionFlags[1] = value; } + } + + public bool Less + { + get { return _conditionFlags[2]; } + private set { _conditionFlags[2] = value; } + } + + private uint[] _registers { get; set; } = new uint[16]; + + private int _codeLength = 0; + private byte[] _memory { get; set; } = new byte[2048]; + + public int ProgramCounter + { + get { return Convert.ToInt32(_registers[15]); } + private set { _registers[15] = Convert.ToUInt32(value); } + } + + public void SetMemory(uint[] code) + { + _codeLength = code.Length * 4; + for (int i = 0; i < code.Length; i++) + { + byte[] b = BitConverter.GetBytes(code[i]); + b.CopyTo(_memory, i * 4); + } + } + + public void Run() + { + while (_codeLength > ProgramCounter) + { + uint mem = BitConverter.ToUInt32(_memory, ProgramCounter); + OpCode op = GetOpcode(mem); + int par = GetRegister(mem, 0); + int par1 = GetRegister(mem, 1); + int par2 = GetRegister(mem, 2); + + ProgramCounter += 4; + + if (ConditionSet(mem)) + { + switch (op) + { + case OpCode.ldr: + { + int dst = GetRegister(mem, 0); + int addr = GetRegister(mem, 1); + + _registers[dst] = BitConverter.ToUInt32(_memory, (int)_registers[addr]); + } + break; + case OpCode.str: + { + int val = GetRegister(mem, 0); + int dst = GetRegister(mem, 1); + + byte[] b = BitConverter.GetBytes(_registers[val]); + b.CopyTo(_memory, _registers[dst]); + } + break; + case OpCode.add: + { + int dst = GetRegister(mem, 0); + int reg1 = GetRegister(mem, 1); + int reg2 = GetRegister(mem, 2); + + _registers[dst] = _registers[reg1] + _registers[reg2]; + } + break; + case OpCode.sub: + { + int dst = GetRegister(mem, 0); + int reg1 = GetRegister(mem, 1); + int reg2 = GetRegister(mem, 2); + + _registers[dst] = _registers[reg1] - _registers[reg2]; + } + break; + case OpCode.mul: + { + int dst = GetRegister(mem, 0); + int reg1 = GetRegister(mem, 1); + int reg2 = GetRegister(mem, 2); + + _registers[dst] = _registers[reg1] * _registers[reg2]; + } + break; + case OpCode.div: + { + int dst = GetRegister(mem, 0); + int reg1 = GetRegister(mem, 1); + int reg2 = GetRegister(mem, 2); + + _registers[dst] = _registers[reg1] / _registers[reg2]; + } + break; + case OpCode.mov: + { + int dst = GetRegister(mem, 0); + + int reg = GetRegister(mem, 1); + uint val = GetValue(mem, 1); + + //if (reg == 0 && val != 0) + _registers[dst] = val; + //else + // _registers[dst] = _registers[reg]; + } + break; + case OpCode.cmp: + { + int reg1 = GetRegister(mem, 0); + int reg2 = GetRegister(mem, 1); + Equal = _registers[reg1] == _registers[reg2]; + Greater = _registers[reg1] > _registers[reg2]; + Less = _registers[reg1] < _registers[reg2]; + } + break; + case OpCode.jmp: + { + int dst = GetRegister(mem, 0); + ProgramCounter = (int)_registers[dst]; + } + break; + case OpCode.sav: + { + int dst = GetRegister(mem, 0); + _registers[dst] = (uint)ProgramCounter; + } + break; + case OpCode.prn: + { + int reg = GetRegister(mem, 0); + uint ascii = _registers[reg]; + Console.Write(Encoding.ASCII.GetString(BitConverter.GetBytes(ascii))); + } + break; + } + //Console.WriteLine($"{op} {par} {par1} {par2}"); + } + } + + Console.WriteLine(); + } + + private static uint GetValue(uint mem, int pos) + { + uint mask = Convert.ToUInt32(Math.Pow(2, 23 - pos * 4)) - 1; + uint tmp = mem & mask; + return tmp; + } + + private bool ConditionSet(uint mem) + { + uint tmp = mem >> 29; + uint cond = 0; + + if (Equal) + cond += 1 << 2; + if (Greater) + cond += 1 << 1; + if (Less) + cond += 1; + + return (cond & tmp) > 0 || tmp == 0; + } + + private static int GetRegister(uint mem, int par) + { + uint tmp = mem << 9; + tmp <<= 4 * par; + tmp >>= 32 - 4; + return (int)tmp; + } + + private static OpCode GetOpcode(uint mem) + { + return (OpCode)(mem << 3 >> 32 - 6); + } + } +} \ No newline at end of file diff --git a/VirtualMachine/VirtualMachine.csproj b/VirtualMachine/VirtualMachine.csproj new file mode 100644 index 0000000..fbb4a9b --- /dev/null +++ b/VirtualMachine/VirtualMachine.csproj @@ -0,0 +1,12 @@ + + + + Exe + net8.0 + enable + enable + true + true + + +