From df9c01c46c6f798b063580d7a15eae42e2700ec9 Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Mon, 8 Nov 2021 10:50:15 -0800 Subject: [PATCH] back to 386+ CPU --- bin/sectorlisp.bin | Bin 512 -> 512 bytes sectorlisp.S | 7 ++++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bin/sectorlisp.bin b/bin/sectorlisp.bin index 733ea50d750706e45c6c1963aee0ee93493a2015..c276d4bf825b92d64dfbb4fcf6c2d82bc7e1833a 100755 GIT binary patch delta 101 zcmV-r0Gj`R1b_svE&%~^lP>`t5nlkP0d;1Viv@%D8;gAcbXAjH0Vy~duouIF_*Him zi#$9#bR9fHbQnA_b=`&Ub>@la!&Xx0rT${760z9va1;dL}0y*l5)^y{O!2vx4 H&dyb;aRVxK delta 101 zcmV-r0Gj`R1b_svE&%~|lP>`t5n}+T0d;7Xiv@%D8;gAcbXSvJ0Vz5juouIF_*Hiq zi#$9#bRRrJ4@5-*bP7B%b=igQb>fNW!&Xx0q5oQ5>$i)20*eL1i&O$R>WS8L<&(bw HJpxs#E|n;N diff --git a/sectorlisp.S b/sectorlisp.S index b698959..c027d01 100644 --- a/sectorlisp.S +++ b/sectorlisp.S @@ -38,7 +38,7 @@ .set boot, 0x7c00 //////////////////////////////////////////////////////////////////////////////// -// Currently requires i686+ in real mode +// Currently requires i386+ in real mode // Can be easily tuned for the IBM PC XT // Quoth xed -r -isa-set -i sectorlisp.o @@ -288,14 +288,13 @@ Apply: test $1,%al # Apply(fn:ax,x:si:a:dx):ax .ifCar: cmp $ATOM_CAR,%al je .retA .ifCdr: cmp $ATOM_CDR,%al - cmove 2(%di),%ax # i686+ je .retD .ifAtom:cmp $ATOM_ATOM,%al jne .ifCons test ONE,%di jnz .retT .retF: mov ONE,%ax # ax = NIL -.retD: ret + ret .dflt1: push %si # save x push %dx # save a call Eval @@ -304,6 +303,8 @@ Apply: test $1,%al # Apply(fn:ax,x:si:a:dx):ax jmp Apply Cadr: mov 2(%di),%di # contents of decrement register + .byte 0x3C # mask next byte +.retD: scasw .retA: mov (%di),%ax # contents of address register ret