From 9aca619193b72222a2539d0caf137537d55c6d35 Mon Sep 17 00:00:00 2001 From: Robert Pengelly <robertapengelly@hotmail.com> 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 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 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