mirror of
https://github.com/samsonjs/sectorlisp.git
synced 2026-03-25 09:05:48 +00:00
back to 386+ CPU
This commit is contained in:
parent
74b20f759e
commit
df9c01c46c
2 changed files with 4 additions and 3 deletions
Binary file not shown.
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue