From 988645cf8d48cda26cbd8df37c782b1e4a5e2c00 Mon Sep 17 00:00:00 2001 From: dschmenk Date: Sat, 28 Jan 2017 12:27:34 -0800 Subject: [PATCH] Save a few bytes, somehing I meant to do a long time ago... --- SANDBOX.PO | Bin 143360 -> 143360 bytes src/vmsrc/a1cmd.pla | 2 +- src/vmsrc/cmd.pla | 2 +- src/vmsrc/plvm01.s | 121 +++++++++++++++++++++++++------------------ src/vmsrc/plvm02.s | 121 +++++++++++++++++++++++++------------------ src/vmsrc/plvm03.s | 121 +++++++++++++++++++++++++------------------ src/vmsrc/soscmd.pla | 2 +- 7 files changed, 216 insertions(+), 153 deletions(-) mode change 100644 => 100755 SANDBOX.PO diff --git a/SANDBOX.PO b/SANDBOX.PO old mode 100644 new mode 100755 index be7c9a5c3a616b28b0fa2724c7fe92f0e6ab132a..e81dcd9799d7096ad9f8b6e014a7519c460457cd GIT binary patch delta 2457 zcmb7EeN0v78Gqly6|P*0@BIYfUOZ4lJiX#^RyUm=v=yZEklpH`0t&g3>kH*WnZY~i zvVa}9c4?d03q8bT302aSm_^O?bj#M}UbM@)rm2T;Kl#JbiGbN6nvJ+6ZSS7BP}s<-s$C{}Y7zKY_TA{1J(YM$S(vE4f{;X)77(A?n?I&zZ}@mxR=*U+VzU|m5P(~x>~QRfma({E7cmy z(;tb(Qh}v~?V5ekK6O8HA~iCpgZWsU90{vaBO26K!!@c_BP|6tHo3Xy#_ufZordPs zsiB3zJ7eHKH~*2Uotsa)KGL}P<*WY~yz?$NK4fmTqelTiSf zC)dP3JsK~Llix0?H|-(Kro+<@xNX`NxYgXj!NWf|Yz?%utj48*_Lj|Xj<%G+8DeK} zzNG*Mc%%Jg?^|A6;(9ogIk9diYw-5q=M$l!xuL&Y`0D%xA|WCT77Z(Vz4#CPYt8G) zcC$b_Et?6oY$L;#o#c#VFPXFKBX8J`keIEGcV`wBita**< zhcKchK0n2zDQ#-LTpx|+!c zl`oFrF}zm!6~zT0en)XJh?%suOmP`#&Nlqr>?&(V7I7n9-l{aW;o`?v^h$ZFwNzSz z+{o+aC`S=@I*UMLIVYQxx7+Y;Y*IdJ!&TYqtR1T%-vId)?YQ`B-3WT)BRZ=;_=pbm zmCNmTZNAAW84zlsTobQlG;o+g%N%*ms?4_I`kL$3w5B_);DrADRuN9kq1)^Lt=u4A zw^C02S=y8jCa)wTiu?u&XSq>6r2OPXT;S?+_%mrHFXbWOOy6Tf*eiEhL~svVM42kr zUc^6l9)jXK+{h>&v$1=lebQMF1vBFW)F1vT}aj^GS;42&*y$%*ipE-$|YRB3gucD90c?+GeHx!w$TD2Shrk1L_#$ z8)lI@{1$4V1`Y&AEp9~Qi#E8I0o6*2sWb|>q(lCvL#gk?9{g+Nold+ZuQN~d{1nj= z=-o>5S+)g&Ov=4ZTmhqVb>TcSJiQrFLX8G$K+&gr%yonq#MY4QCaB5&s)Id+b`U=30fs|6gJD9 zO6_r6xE)IRYT%Z=HJ(C5pA`t_6~3wj<_b@+>8|($tFOk;RfBfspj?56++QBY!YY^` z%>CozxE$Y5{(c-E1hM}FE)t7S4n;l=O7XQ)E^x@l3E0phQq<(Rm12UCH3Oqw;F^5N zsqFtgb_r};5bI^3x>@w;tac|ts0T5=xEn%9$d}J4GbeEQVLe{{(g|5<#`SVOPC5b2 zU?1J76q|I0-0c!+hSUg!-2)u_L3vJR29kT75a<=8N_Pg|>b`fcvb0oM4}tO}rMU+? zi=hD|unzJmvzP{5hy@JXPj8ZPz6TfLr1D-5-rf&;1q)u5L4ZqQN1nM=+JKk0bOueP7O^6`uBwi&K2TM)vs5R=pKbEZv>_dWQMXd!0+mP@Ai(D)aJsXj*X~p%X z>zL>%0MhJPqi25Ul(!U#9wSQsNQki9QX#5XRdwJ%8WI>7S_a3HjVibwJohzw%RV4L eXQlx-;rH^K1)hNsy*7o81kJ`z@jJcv{eJ_OJ$Y6D delta 2354 zcmb7DeQZcV4fGXgBhTA*q4Kn}c2`GCws?n}rQSpl!0 zc7!fzr);fCop8q{O&O~w*+d%_4BEO1JJl*mr`0C5V@KLXLWx3|Akr2Mqz&)9XLn1d z{jpirz3-ggxxe$f_ngyvBd_;H-e{|q)-5MPA9AKO}J-xHr|6dOB5`V#)K#iR53BA0}@mEh$aPo;sHLe(FwY>s0qt|I|FWA77bx zDKVJ%Jdr>7+2r3Q`zC)pd3o}a$(6|sNhx_~tZL5*?f)qv{6C4foGO^wI@LaP0!6G# z>`0tXe3IBW+3?>)lqG|q!Xx3Ka4>QtIuxA~=SeWUX(5D;=t3mx2rVm%d^sp^s9sny z_x3GuKJZTc>g9JPW^V+ebm^SqP9RplZTW+V9XCdABbVbrU`<2i_6)5_Wi@@l8m?3A zx~$!ID;WAX@6BZw!-LUbG8n#{cWyq{94?D~FY+Lh>1PeDY|c*`N*`A_L#Bu+Y>Lk3 zjHHLc8MW7f;h|74Iuuc^5~>bHsxflR*68MP<}y6H_L`r_e3GjXZg%0qU;A#I3x-Zk ztMGsLt_CAnATYRh2h0Vgn^xryBlF2w1)5bI0n5H8Tdl!JJQ^{Nr00f0+3fLfWM1`t zK0^NG4aZU5Ld3&8*GsPpv%ydtAAcdL*upqXEVk({g^z-Z;)OHxQebpnAIk7H+c-yg zU{CV~C=W!NjRDrI$FH9^JE43m+FS&$cu#p@we4Yl&d4MExqUbLrbn*yf7U;9=HZXd zP?1par}np4r5E1cxkucR8oHhSK)mo6B0(t{?MUNpTx zM|DT(jINjNHoQuC!w;y>@D{Bw{E*(a4AWiqb5s-9esm{0vL9^RNnOCxVP&KHVdJG1 z0FKS<2m2`>ybIUadp_8T+n;@KJMX$7l6xV?ah?6)c^HOG>^m|P;dWYv65QU;SP2=N zX#GQmuP&=FwC7ScaY(yaMJtr7$=X%YZbPZKlDLW2&&ixjxMR5#BVC-tvsYT-YrwNm zD{NQJFU9j(JioFHO1`l3(B8brR`{P^WFtR&vkg`i@&-{$NTbX(IwG2S4rEN3FKLV{ z+y-^k(}s+tf(8UJ|4$48uJ_EU&xF!kT4~xKbJE$2s}NmYQ6e(&Yh_$rd6J(sAAlko zGy8Mo9EWHj{D~J=P`*+c&@5u4IO|1s~^eB-6T)yGb;Bc+r(FKa~5(}_!s0Yp{$x9>EyqZ+Y(^ffG@}z_vtKXkWi5vrC+ppWO5;YnmzLCsbLor< zyrfyOSXfyHc;F-US_f>j3|IuucZs|jbGOKa%4t0Y@$AzMSdXQ9*Z~$DKD~~}RL;}N zMozX$zh}-)coO`qsS`?yGN}IFs0B%!vR*pNPIZDEnpm(CR>J^GcEWbJ$n0HU#irWQ z1*OaJSy6uGS=+n7X~Ua%^h)t+j7srT1fQN$Uz(lo!X_POSG%BAkC5+Ke%{DOszg2E zH%J5Qv2G|XLrPyY-sW(%rIHYpah%2yHd>jwj9)UD^{*=a5X-N%`!`M;M zH7k2|3)pz2C>ZHg0#&!*Q+wB)yh3`2(iQIdD}*nUM%f1k!PTV3OI916%JkJ?&c}%d zF%?doJDpbQsgVW{*N6>B?C$08kMx{cej+27(TJD%d=SifUK^$|O3r4>MrsLzr7Yk@xkSh1}JVBhRbV^a%v{d?|Uf|a& zC27MPXh{8f!C9ih(wtGcoAD53{y=<}v=vbCb>b|bQjJZD82H+Xr9^rM+ohK9&s5~A z$i8C1^EBZ-S@VEVIF32_Zz!R;h&@X9$FtabHo;SfJ&`qc*#*y1;(SU?FW`jY;5pqH xtt(V{iV!8_D;b4~*bh*PQMnGP;(sk^3^@Es1J|a>UXuA;E`I?+aP~0#=AU(ZV#ojh diff --git a/src/vmsrc/a1cmd.pla b/src/vmsrc/a1cmd.pla index 2c90ca4..2fc191e 100644 --- a/src/vmsrc/a1cmd.pla +++ b/src/vmsrc/a1cmd.pla @@ -39,7 +39,7 @@ predef loadmod, execmod, lookupstrmod // // System variables. // -word version = $0092 // 00.92 +word version = $0094 // 00.94 word systemflags = 0 word heap word symtbl, lastsym diff --git a/src/vmsrc/cmd.pla b/src/vmsrc/cmd.pla index 89b1969..8ed47a6 100644 --- a/src/vmsrc/cmd.pla +++ b/src/vmsrc/cmd.pla @@ -33,7 +33,7 @@ predef loadmod, execmod, lookupstrmod // // System variable. // -word version = $0093 // 00.93 +word version = $0094 // 00.94 word systemflags = 0 word heap word xheap = $0800 diff --git a/src/vmsrc/plvm01.s b/src/vmsrc/plvm01.s index 31c685f..dcd4f12 100644 --- a/src/vmsrc/plvm01.s +++ b/src/vmsrc/plvm01.s @@ -77,9 +77,10 @@ MULLP LSR TMPH ; MULTPLRH DEY BNE MULLP STA ESTKH+1,X ; PRODH - INX LDY IPY - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* INCREMENT TOS ;* @@ -210,8 +211,9 @@ ADD LDA ESTKL,X LDA ESTKH,X ADC ESTKH+1,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* SUB TOS FROM TOS-1 ;* @@ -222,8 +224,9 @@ SUB LDA ESTKL+1,X LDA ESTKH+1,X SBC ESTKH,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ; ;* ;* SHIFT TOS LEFT BY 1, ADD TO TOS-1 @@ -237,8 +240,9 @@ IDXW LDA ESTKL,X LDA ESTKH,X ADC ESTKH+1,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* BITWISE AND TOS TO TOS-1 ;* @@ -248,8 +252,9 @@ BAND LDA ESTKL+1,X LDA ESTKH+1,X AND ESTKH,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* INCLUSIVE OR TOS TO TOS-1 ;* @@ -259,8 +264,9 @@ IOR LDA ESTKL+1,X LDA ESTKH+1,X ORA ESTKH,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* EXLUSIVE OR TOS TO TOS-1 ;* @@ -270,8 +276,9 @@ XOR LDA ESTKL+1,X LDA ESTKH+1,X EOR ESTKH,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* SHIFT TOS-1 LEFT BY TOS ;* @@ -290,9 +297,10 @@ SHL2 ASL ESTKL+1,X ROL ESTKH+1,X DEY BNE SHL2 -SHL3 INX - LDY IPY - JMP NEXTOP +SHL3 LDY IPY +; INX +; JMP NEXTOP + JMP DROP ;* ;* SHIFT TOS-1 RIGHT BY TOS ;* @@ -318,9 +326,10 @@ SHR3 CMP #$80 DEY BNE SHR3 STA ESTKH+1,X -SHR4 INX - LDY IPY - JMP NEXTOP +SHR4 LDY IPY +; INX +; JMP NEXTOP + JMP DROP ;* ;* LOGICAL NOT ;* @@ -344,8 +353,9 @@ LAND LDA ESTKL+1,X LDA #$FF LAND1 STA ESTKL+1,X STA ESTKH+1,X -LAND2 INX - JMP NEXTOP +;LAND2 INX +; JMP NEXTOP +LAND2 JMP DROP ;* ;* LOGICAL OR ;* @@ -357,8 +367,9 @@ LOR LDA ESTKL,X LDA #$FF STA ESTKL+1,X STA ESTKH+1,X -LOR1 INX - JMP NEXTOP +;LOR1 INX +; JMP NEXTOP +LOR1 JMP DROP ;* ;* DUPLICATE TOS ;* @@ -375,8 +386,9 @@ PUSH LDA ESTKL,X PHA LDA ESTKH,X PHA - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* PULL FROM CALL STACK TO EVAL STACK ;* @@ -541,10 +553,11 @@ SB LDA ESTKL+1,X STY IPY LDY #$00 STA (TMP),Y - INX - INX LDY IPY - JMP NEXTOP + INX +; INX +; JMP NEXTOP + JMP DROP SW LDA ESTKL+1,X STA TMPL LDA ESTKH+1,X @@ -556,10 +569,11 @@ SW LDA ESTKL+1,X INY LDA ESTKH,X STA (TMP),Y - INX - INX LDY IPY - JMP NEXTOP + INX +; INX +; JMP NEXTOP + JMP DROP ;* ;* STORE VALUE TO LOCAL FRAME OFFSET ;* @@ -569,9 +583,10 @@ SLB +INC_IP TAY LDA ESTKL,X STA (IFP),Y - INX LDY IPY - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP SLW +INC_IP LDA (IP),Y STY IPY @@ -581,9 +596,10 @@ SLW +INC_IP INY LDA ESTKH,X STA (IFP),Y - INX LDY IPY - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* STORE VALUE TO LOCAL FRAME OFFSET WITHOUT POPPING STACK ;* @@ -619,9 +635,10 @@ SAB +INC_IP STY IPY LDY #$00 STA (TMP),Y - INX LDY IPY - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP SAW +INC_IP LDA (IP),Y STA TMPL @@ -635,9 +652,10 @@ SAW +INC_IP INY LDA ESTKH,X STA (TMP),Y - INX LDY IPY - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* STORE VALUE TO ABSOLUTE ADDRESS WITHOUT POPPING STACK ;* @@ -678,10 +696,11 @@ ISEQ LDA ESTKL,X CMP ESTKH+1,X BNE ISFLS ISTRU LDA #$FF - INX - STA ESTKL,X - STA ESTKH,X - JMP NEXTOP + STA ESTKL+1,X + STA ESTKH+1,X +; INX +; JMP NEXTOP + JMP DROP ; ISNE LDA ESTKL,X CMP ESTKL+1,X @@ -690,10 +709,11 @@ ISNE LDA ESTKL,X CMP ESTKH+1,X BNE ISTRU ISFLS LDA #$00 - INX - STA ESTKL,X - STA ESTKH,X - JMP NEXTOP + STA ESTKL+1,X + STA ESTKH+1,X +; INX +; JMP NEXTOP + JMP DROP ; ISGE LDA ESTKL+1,X CMP ESTKL,X @@ -797,8 +817,9 @@ IBRNCH LDA IPL LDA IPH ADC ESTKH,X STA IPH - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* CALL INTO ABSOLUTE ADDRESS (NATIVE CODE) ;* diff --git a/src/vmsrc/plvm02.s b/src/vmsrc/plvm02.s index a4f567b..d021fc2 100644 --- a/src/vmsrc/plvm02.s +++ b/src/vmsrc/plvm02.s @@ -404,8 +404,9 @@ ADD LDA ESTKL,X LDA ESTKH,X ADC ESTKH+1,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* SUB TOS FROM TOS-1 ;* @@ -416,8 +417,9 @@ SUB LDA ESTKL+1,X LDA ESTKH+1,X SBC ESTKH,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* SHIFT TOS LEFT BY 1, ADD TO TOS-1 ;* @@ -430,8 +432,9 @@ IDXW LDA ESTKL,X LDA ESTKH,X ADC ESTKH+1,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* MUL TOS-1 BY TOS ;* @@ -460,9 +463,10 @@ MULLP LSR TMPH ; MULTPLRH DEY BNE MULLP STA ESTKH+1,X ; PRODH - INX LDY IPY - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* INTERNAL DIVIDE ALGORITHM ;* @@ -580,8 +584,9 @@ BAND LDA ESTKL+1,X LDA ESTKH+1,X AND ESTKH,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* INCLUSIVE OR TOS TO TOS-1 ;* @@ -591,8 +596,9 @@ IOR LDA ESTKL+1,X LDA ESTKH+1,X ORA ESTKH,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* EXLUSIVE OR TOS TO TOS-1 ;* @@ -602,8 +608,9 @@ XOR LDA ESTKL+1,X LDA ESTKH+1,X EOR ESTKH,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* SHIFT TOS-1 LEFT BY TOS ;* @@ -622,9 +629,10 @@ SHL2 ASL ESTKL+1,X ROL ESTKH+1,X DEY BNE SHL2 -SHL3 INX - LDY IPY - JMP NEXTOP +SHL3 LDY IPY +; INX +; JMP NEXTOP + JMP DROP ;* ;* SHIFT TOS-1 RIGHT BY TOS ;* @@ -650,9 +658,10 @@ SHR3 CMP #$80 DEY BNE SHR3 STA ESTKH+1,X -SHR4 INX - LDY IPY - JMP NEXTOP +SHR4 LDY IPY +; INX +; JMP NEXTOP + JMP DROP ;* ;* LOGICAL NOT ;* @@ -676,8 +685,9 @@ LAND LDA ESTKL+1,X LDA #$FF LAND1 STA ESTKL+1,X STA ESTKH+1,X -LAND2 INX - JMP NEXTOP +;LAND2 INX +; JMP NEXTOP +LAND2 JMP DROP ;* ;* LOGICAL OR ;* @@ -689,8 +699,9 @@ LOR LDA ESTKL,X LDA #$FF STA ESTKL+1,X STA ESTKH+1,X -LOR1 INX - JMP NEXTOP +;LOR1 INX +; JMP NEXTOP +LOR1 JMP DROP ;* ;* DUPLICATE TOS ;* @@ -707,8 +718,9 @@ PUSH LDA ESTKL,X PHA LDA ESTKH,X PHA - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* PULL FROM CALL STACK TO EVAL STACK ;* @@ -996,10 +1008,11 @@ SB LDA ESTKL+1,X STY IPY LDY #$00 STA (TMP),Y - INX - INX LDY IPY - JMP NEXTOP + INX +; INX +; JMP NEXTOP + JMP DROP SW LDA ESTKL+1,X STA TMPL LDA ESTKH+1,X @@ -1011,10 +1024,11 @@ SW LDA ESTKL+1,X INY LDA ESTKH,X STA (TMP),Y - INX - INX LDY IPY - JMP NEXTOP + INX +; INX +; JMP NEXTOP + JMP DROP ;* ;* STORE VALUE TO LOCAL FRAME OFFSET ;* @@ -1024,9 +1038,10 @@ SLB +INC_IP TAY LDA ESTKL,X STA (IFP),Y - INX LDY IPY - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP SLW +INC_IP LDA (IP),Y STY IPY @@ -1036,9 +1051,10 @@ SLW +INC_IP INY LDA ESTKH,X STA (IFP),Y - INX LDY IPY - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* STORE VALUE TO LOCAL FRAME OFFSET WITHOUT POPPING STACK ;* @@ -1074,9 +1090,10 @@ SAB +INC_IP STY IPY LDY #$00 STA (TMP),Y - INX LDY IPY - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP SAW +INC_IP LDA (IP),Y STA TMPL @@ -1090,9 +1107,10 @@ SAW +INC_IP INY LDA ESTKH,X STA (TMP),Y - INX LDY IPY - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* STORE VALUE TO ABSOLUTE ADDRESS WITHOUT POPPING STACK ;* @@ -1133,10 +1151,11 @@ ISEQ LDA ESTKL,X CMP ESTKH+1,X BNE ISFLS ISTRU LDA #$FF - INX - STA ESTKL,X - STA ESTKH,X - JMP NEXTOP + STA ESTKL+1,X + STA ESTKH+1,X +; INX +; JMP NEXTOP + JMP DROP ; ISNE LDA ESTKL,X CMP ESTKL+1,X @@ -1145,10 +1164,11 @@ ISNE LDA ESTKL,X CMP ESTKH+1,X BNE ISTRU ISFLS LDA #$00 - INX - STA ESTKL,X - STA ESTKH,X - JMP NEXTOP + STA ESTKL+1,X + STA ESTKH+1,X +; INX +; JMP NEXTOP + JMP DROP ; ISGE LDA ESTKL+1,X CMP ESTKL,X @@ -1252,8 +1272,9 @@ IBRNCH LDA IPL LDA IPH ADC ESTKH,X STA IPH - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* CALL INTO ABSOLUTE ADDRESS (NATIVE CODE) ;* diff --git a/src/vmsrc/plvm03.s b/src/vmsrc/plvm03.s index bdd3425..8afbd71 100644 --- a/src/vmsrc/plvm03.s +++ b/src/vmsrc/plvm03.s @@ -250,9 +250,10 @@ MULLP LSR TMPH ; MULTPLRH DEY BNE MULLP STA ESTKH+1,X ; PRODH - INX LDY IPY - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* NEGATE TOS ;* @@ -292,8 +293,9 @@ ADD LDA ESTKL,X LDA ESTKH,X ADC ESTKH+1,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* SUB TOS FROM TOS-1 ;* @@ -304,8 +306,9 @@ SUB LDA ESTKL+1,X LDA ESTKH+1,X SBC ESTKH,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ; ;* ;* SHIFT TOS LEFT BY 1, ADD TO TOS-1 @@ -319,8 +322,9 @@ IDXW LDA ESTKL,X LDA ESTKH,X ADC ESTKH+1,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* INCREMENT TOS ;* @@ -355,8 +359,9 @@ BAND LDA ESTKL+1,X LDA ESTKH+1,X AND ESTKH,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* INCLUSIVE OR TOS TO TOS-1 ;* @@ -366,8 +371,9 @@ IOR LDA ESTKL+1,X LDA ESTKH+1,X ORA ESTKH,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* EXLUSIVE OR TOS TO TOS-1 ;* @@ -377,8 +383,9 @@ XOR LDA ESTKL+1,X LDA ESTKH+1,X EOR ESTKH,X STA ESTKH+1,X - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* SHIFT TOS-1 LEFT BY TOS ;* @@ -397,9 +404,10 @@ SHL2 ASL ESTKL+1,X ROL ESTKH+1,X DEY BNE SHL2 -SHL3 INX - LDY IPY - JMP NEXTOP +SHL3 LDY IPY +; INX +; JMP NEXTOP + JMP DROP ;* ;* SHIFT TOS-1 RIGHT BY TOS ;* @@ -425,9 +433,10 @@ SHR3 CMP #$80 DEY BNE SHR3 STA ESTKH+1,X -SHR4 INX - LDY IPY - JMP NEXTOP +SHR4 LDY IPY +; INX +; JMP NEXTOP + JMP DROP ;* ;* LOGICAL NOT ;* @@ -451,8 +460,9 @@ LAND LDA ESTKL+1,X LDA #$FF LAND1 STA ESTKL+1,X STA ESTKH+1,X -LAND2 INX - JMP NEXTOP +;LAND2 INX +; JMP NEXTOP +LAND2 JMP DROP ;* ;* LOGICAL OR ;* @@ -464,8 +474,9 @@ LOR LDA ESTKL,X LDA #$FF STA ESTKL+1,X STA ESTKH+1,X -LOR1 INX - JMP NEXTOP +;LOR1 INX +; JMP NEXTOP +LOR1 JMP DROP ;* ;* DUPLICATE TOS ;* @@ -482,8 +493,9 @@ PUSH LDA ESTKL,X PHA LDA ESTKH,X PHA - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* PULL FROM CALL STACK TO EVAL STACK ;* @@ -663,10 +675,11 @@ SB LDA ESTKL+1,X STY IPY LDY #$00 STA (TMP),Y - INX - INX LDY IPY - JMP NEXTOP + INX +; INX +; JMP NEXTOP + JMP DROP SW LDA ESTKL+1,X STA TMPL LDA ESTKH+1,X @@ -678,10 +691,11 @@ SW LDA ESTKL+1,X INY LDA ESTKH,X STA (TMP),Y - INX - INX LDY IPY - JMP NEXTOP + INX +; INX +; JMP NEXTOP + JMP DROP ;* ;* STORE VALUE TO LOCAL FRAME OFFSET ;* @@ -691,9 +705,10 @@ SLB +INC_IP TAY LDA ESTKL,X STA (IFP),Y - INX LDY IPY - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP SLW +INC_IP LDA (IP),Y STY IPY @@ -703,9 +718,10 @@ SLW +INC_IP INY LDA ESTKH,X STA (IFP),Y - INX LDY IPY - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* STORE VALUE TO LOCAL FRAME OFFSET WITHOUT POPPING STACK ;* @@ -741,9 +757,10 @@ SAB +INC_IP STY IPY LDY #$00 STA (TMP),Y - INX LDY IPY - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP SAW +INC_IP LDA (IP),Y STA TMPL @@ -757,9 +774,10 @@ SAW +INC_IP INY LDA ESTKH,X STA (TMP),Y - INX LDY IPY - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* STORE VALUE TO ABSOLUTE ADDRESS WITHOUT POPPING STACK ;* @@ -800,10 +818,11 @@ ISEQ LDA ESTKL,X CMP ESTKH+1,X BNE ISFLS ISTRU LDA #$FF - INX - STA ESTKL,X - STA ESTKH,X - JMP NEXTOP + STA ESTKL+1,X + STA ESTKH+1,X +; INX +; JMP NEXTOP + JMP DROP ; ISNE LDA ESTKL,X CMP ESTKL+1,X @@ -812,10 +831,11 @@ ISNE LDA ESTKL,X CMP ESTKH+1,X BNE ISTRU ISFLS LDA #$00 - INX - STA ESTKL,X - STA ESTKH,X - JMP NEXTOP + STA ESTKL+1,X + STA ESTKH+1,X +; INX +; JMP NEXTOP + JMP DROP ; ISGE LDA ESTKL+1,X CMP ESTKL,X @@ -919,8 +939,9 @@ IBRNCH LDA IPL LDA IPH ADC ESTKH,X STA IPH - INX - JMP NEXTOP +; INX +; JMP NEXTOP + JMP DROP ;* ;* CALL INTO ABSOLUTE ADDRESS (NATIVE CODE) ;* diff --git a/src/vmsrc/soscmd.pla b/src/vmsrc/soscmd.pla index 22aa240..1fac784 100644 --- a/src/vmsrc/soscmd.pla +++ b/src/vmsrc/soscmd.pla @@ -34,7 +34,7 @@ predef loadmod, execmod, lookupstrmod // // System variables. // -word version = $0092 // 00.92 +word version = $0094 // 00.94 word systemflags = 0 byte refcons = 0 byte devcons = 0