From 9aca619193b72222a2539d0caf137537d55c6d35 Mon Sep 17 00:00:00 2001 From: Robert Pengelly Date: Mon, 30 Sep 2024 12:42:45 +0100 Subject: [PATCH] Batch improvements --- build/chimaera.img | Bin 368640 -> 368640 bytes build/chimaera.vhd | Bin 34120704 -> 34120704 bytes src/apps/pcomm/pcomm.asm | 81 +++++---------------------------------- 3 files changed, 9 insertions(+), 72 deletions(-) diff --git a/build/chimaera.img b/build/chimaera.img index a57cbef4486241c0092477f36214eb81674c3ba3..1fa0819d744596a52e29746545ace7d13418ac09 100644 GIT binary patch delta 5054 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 delta 5065 zcma)A3s{p^nm+%ZkO;~}su%@xDaxhlPXdVoq7W{jEn0pOn}8^(JM(PEX}dG4M7Q1D zLWk-a=(5)HxJ+m2ZmG`9mTA`uv;@*6;Uc0XQ(>xuMe*LAG!J!XMx}tV-}yt7+U-7* z=gEKh&iQWd_nq%M=dX6hRJ&vLCyK9^u3d6`#r4ptjWz4a)|DYd?@0LN78h?)27XZi zdT^W-#tp`Tf(`jbrK!xM{O))NI+TS_QGxN9f(^?5V|*bpTM)`C-ndc!OuiECO7x7N zIH+I+iUT9`&u%I%C@sj#)o*%4K`vSXCgc~JX6#cwVqjjYK8{%)en1wnakgIpyE!h% z^(dR*77F?WvmOyEYQ7rw8xcq?o-I`*u>G*q@1m7wD15{jG4g=i!=e*P{2x`}I+eRJ zoG00)njTi;<_?GJxKol*Ekba+2&%Z+h?*4jDA#yf%N?GpbL~k{yDcUDChpzWQ_8F) z^NGzBrQ>I)PTpj$&PKL)?j2qy*0-?xx;&~D_C%&|-QrO>BXxv(l6;7K+Z;;7+eggg z0*-cN#a=6{85iwdSToM6GG^jH*M|8w@~KfV)TsGR+Z^&)^VY6| zEK`d8Ju2o~yzrzl(x{)M6}^)6#$a`DaHXOr(_gU($d?{NfbcZ$64At#C;SF*|TLmLY-7vKcu;%9IdpdZ*cE~>G07rKiw3rvq2U(0k)YeC|5|kC2|wjI9I0` z%s9JS*n@jlm?v6e9rB4`ZuzxpTxiHPiIE(Kz|(5iNEg8V8aTVlRbMG)>43v z|KWG+H*4^lPb*~GazQ{s-ELNOr&4MrM*1otMY;IRPggSkiaS2tIcIvckS*tM##v<~ zw|Z6}U)KwP+;djPD)so|v+3+&Jw$K~UNx|sb>;*jxF!(6%s>POAcAY~&4HES3LQky zHs7g}kp;SD`QVGJsVE-olK{LbU}=K04K ze3kV*@o(W@pNosf8XBWs-f>sUlWsM27W9*Bn9tff^(98~_xSU3iB%UMmJt2~dm$?= zFH63lI$f!R!Bom#->aEUuotlPZu^L4+J6KVs6LL|Q!Av_ip^!^rQN)##Avoi-l}VM<~t;TlD{dN%|_s-wy)W$g?yf^yz*3uLi(YI-C!r`V@#H{NiA4^o~iO9x2a z=&N_TM7kLd8gFTV*Il_4*I$UMx~xT&;R!YW%%VyO(XApM-!zc}^MFZC2G+pMsz|6S z5KBl8eK~v!?6}X>te5Ig=EK-GuWD0VJVYPa3`RAspKxKcZ zw;z_njNa0$&`Oc_C_{tm+>>G-PafLmRgY%$(U8N4ahf+7%_SCBUmC5p9eYyDjQZZdN$^(r8l&ao*JWlnxG>4A~fvZ;LROblk+-hgE7X)U^&dN~jfANV7P|s6)uH z1@Vr)G@gj)Z2P3OOy#z5Ak9QVR^#^JG^P)KJ)FpRam>YJxaM43l?b9;0Cn#Eh{@3K(gRfj%o--S| z%J>q%2@vB;?4AB2YIjpvY4Xg2zN0S431xlPapJIi|v!7BdLW|4|-JgGY$l{ zo+$Q2!IHi2DKAw>y;GCq_b@G}YyjrhW7CLAO+ATfVcMh;PZVUE50cauAv`dMl94B> ztkl~$`9SfJk!6ewpB~An8cPghK%&qKO!aPwa}3tvB1#6=HPbYQ1kcOMDil^}^*z?6 zfr09OVlr(>>KnCUo_v@Lz(UMK-j62&ly4wI*p>QyT`dtFmG|RsAs;XHeN#2QXpS9l%AS$6X&efM%w@XZZ!5rJtRJTh) zUS`_+QuFMWoqO>MSC&Bz@4vDTuD`vK7;FZAyrRnJOM_B14aL?f)!Z?YcBuHU1pP+} z6(Gz^nu6~%w;>NLkJG+ZLozxB0=Ru zz6`VDBG6CFrsMV3wc<~b$P3N8uKQR;pN2L*>W+zAp8$R;(UAbvrcYxgvAFsRd4huG zMqooyqJ$}$K_g_HP}JWhP}D8Z4@d>>`9k~Hk9BQP=!1+?m68uWxOUekH<4yM_e*&c z-SfKks%hb{kC>n%W_%e}wMiAQS7RbupP2CrOdr)Ui0SUwqJzzqeFEA_T|Udz&3mm^ zjLi04{}H1v0t(fNAP3V8SOD8qP~kA^c(MjYC=5vgkwFdys?}aKPo89U&^-cl2vAWe zdeJ+AD$1A6alwT`>3=A3I(XKlCz_b zR2B*C%|iQQ0_{&vmD2VHVy@yGvZ4yq+6q9WFGp&Hgbawcg#zU%sMn+So$qT%i9A5w z@fa=0&b?|Aky1_e?p`T^SE81a*7L!Q!B$~sAg4itjOTULU2rz|{>fl!DeUZ(3SnTq za8-I#GgXP(2WywxM{8cFH?8Wtmaj8FiAaVLLERI1{~JMjC-2>arcwnBw$5-LW=!!A zbl!0t((CzaH9cW4^KW>Qyz#mg`pa;2w$dib^Nm+$hgIt7QnO#Ski;Y*#(L&dF+|MX zCv>LbrJ$zXEw@O7#1m;CfG@`Z&8naZhy|F$+%!a2QC{kMeR|gvu~Io;1=s_7h{v(d zn3l6h17gqH2qlJ? z4k6?T-NGQ0p7i`n2pJ6 z&3@I2&}eqWR|whi@zUw|WLYLL#0dM|ILK?(B}=!D%(Nhy83lbiKK3(u>+F?B%QASfH3raAR6uY-TtFV{jY(uE_$`_3vJ8)EXL_3~ zgYKzAoNF?D;Wgt?@bpTiPvm?D|JygQtfRkqTUQ#3FaPCWumZkvdm~ee`)``xeTXZU`vBLZTzqwc)33~Zi0jJS@8g=3 z`v|T{xjb1<1w;P1T_A+i;>+dnL<@V-Aih8z z8+a_u!LDoP@&MbFEm>_!6nIt!K;D=S&{pJ=gs{LthRY+dVdUNB&Z#Ok$^SGtC>8vC zA)5N>H$3#yZ+PJ6DE`TGihj)S(9JQ!_uU*dJmTi4fhQl$54t&Opl&jL?4RDi_z&hV zO1N%ge$M&}1>gLIJb7RG&^I81Z%>NR{{^nlvwaUJ7Gk15=jZ;+EiJ!-a?B zhRC^0EIVYxOxa>wv027`zG>!B()#LL#xIc_D1~|_;YlYg|3XDHh+$T_vIb diff --git a/build/chimaera.vhd b/build/chimaera.vhd index 6fde73c7b6a2f7f84a6232c880141d4d2ac85801..433ddb8797ac6811436d6b4962223b1329accf2b 100644 GIT binary patch delta 6989 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 delta 6995 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 diff --git a/src/apps/pcomm/pcomm.asm b/src/apps/pcomm/pcomm.asm index f1b5362..ac9d971 100644 --- a/src/apps/pcomm/pcomm.asm +++ b/src/apps/pcomm/pcomm.asm @@ -39,66 +39,11 @@ _main: mov ax, cs:[_echo_line] mov word ptr [bp - 4], ax - -.L119: - + push es push di push cx - mov ax, cs:[_vec_scratch + 0] - mov es, ax - - mov cx, cs:[_vec_scratch + 4] - xor di, di - -.L110: - - and cx, cx - jz .L109 - -.L125: - - mov dx, 1 - push dx - - mov ax, es:[di] - push ax - - mov ax, offset _scratch_list - push ax - - call _list_push - add sp, 6 - - add di, 2 - - dec cx - jnz .L110 - -.L109: - - mov ax, es - - and ax, ax - jz .L117 - - push ax - - call _free - add sp, 2 - -.L117: - - mov ax, cs - mov es, ax - - mov di, offset _vec_scratch - xor al, al - - mov cx, 6 - rep stosb - mov ax, [_scratch_list] xor di, di @@ -167,14 +112,7 @@ _main: mov [_scratch_list], ax mov word ptr [bp - 2], ax - cmp word ptr cs:[_vec_scratch + 4], 0 - je .L112 - - pop cx - pop di - pop es - - jmp .L119 + jmp .L112 .L111: @@ -3023,16 +2961,20 @@ _read_batch.check: push ds push di + + mov ax, 1 + push ax + push es mov ax, cs mov ds, ax - mov ax, offset _vec_scratch + mov ax, offset _scratch_list push ax - call _vec_push - add sp, 4 + call _list_push + add sp, 6 pop di pop ds @@ -3046,8 +2988,6 @@ _read_batch.check: _read_batch.next: - inc word ptr cs:[_in_batch] - pop ds pop bx pop ax @@ -3174,9 +3114,6 @@ _vec_env: db 6 dup (0) global _vec_paths _vec_paths: db 6 dup (0) -global _vec_scratch -_vec_scratch: db 6 dup (0) - global _curr_row _curr_row: db HEX (00) -- 2.34.1