From 9cde674c1a38004d4e7228557f8fdd28624a7027 Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Fri, 5 Nov 2021 12:35:03 -0700 Subject: [PATCH] shave two more bytes --- bin/sectorlisp.bin | Bin 512 -> 512 bytes sectorlisp.S | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/sectorlisp.bin b/bin/sectorlisp.bin index 62fc3e09c9fc997d0f244bdd9b6e28241692ebad..0042cc3a59d3bf1ec53045ff467ad9843e50fcc6 100755 GIT binary patch delta 131 zcmZo*X<(TU%E&V@Y!&0K$&8F*j9!x^7>#|qYnj5kZM#{6UhptP#W(+8EP2~)`y!2D z1!HOU^lsMXAG|;nB~i^kBulObyqNHRS_Du=ZaPHUi^cyZ#lODTUBc9DVq;s)hHyKTE!gI)+QM8!A%VB~kHWh!~oZTljP zVFhDp#`JF1<{!M>K(VOiACe`P177t1pB4d>k(&+_1ZsV;=>Men*B84>n7U1DY)d*O i&tNncZ2raAd9CDGw~Qq_ziS9n>HEp|8D*J5R{;Q|q%;=* diff --git a/sectorlisp.S b/sectorlisp.S index 97a9252..6172800 100644 --- a/sectorlisp.S +++ b/sectorlisp.S @@ -228,6 +228,7 @@ Pairlis:cmp $NIL,%di # Pairlis(x:di,y:si,a:dx):ax 1: xchg %dx,%ax ret +1: mov 2(%di),%di # di = Cdr(c) Evcon: push %di # save c mov (%di),%di # di = Car(c) mov (%di),%ax # ax = Caar(c) @@ -236,8 +237,7 @@ Evcon: push %di # save c pop %dx # restore a pop %di # restore c cmp $NIL,%ax - cmove 2(%di),%di # di = Cdr(c) - jz Evcon + jz 1b mov (%di),%di # di = Car(c) .EvCadr:call Cadr # ax = Cadar(c) # jmp Eval @@ -300,13 +300,13 @@ Cadr: mov 2(%di),%di # contents of decrement register .retA: mov (%di),%ax # contents of address register ret +1: mov 2(%si),%dx # dx = Cdr(y) Assoc: cmp $NIL,%dx # Assoc(x:ax,y:dx):ax mov %dx,%si je .retF mov (%si),%bx # bx = Car(y) cmp %ax,(%bx) # (%bx) = Caar(y) - cmovne 2(%si),%dx # dx = Cdr(y) - jne Assoc + jne 1b mov 2(%bx),%ax # ax = Cdar(y) ret