mirror of
https://github.com/samsonjs/sectorlisp.git
synced 2026-04-27 14:57:41 +00:00
Shave three more bytes by placing Read inside Apply
This commit is contained in:
parent
9ca97d2ea7
commit
cac1923ebf
1 changed files with 3 additions and 5 deletions
|
|
@ -116,11 +116,9 @@ Print: test %si,%si
|
||||||
NewLine:mov $'\r',%al
|
NewLine:mov $'\r',%al
|
||||||
jmp PutChar
|
jmp PutChar
|
||||||
|
|
||||||
Read: push %dx
|
Read: mov %fs,%dx # Get cached character
|
||||||
mov %fs,%dx # Get cached character
|
|
||||||
call GetToken
|
call GetToken
|
||||||
call GetObject
|
call GetObject
|
||||||
pop %dx
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
GetObject: # called just after GetToken
|
GetObject: # called just after GetToken
|
||||||
|
|
@ -232,6 +230,8 @@ Pairlis:test %di,%di # Pairlis(x:di,y:si,a:dx):dx
|
||||||
je .ifAtom
|
je .ifAtom
|
||||||
cmp $kPrint,%al
|
cmp $kPrint,%al
|
||||||
je Print
|
je Print
|
||||||
|
cmp $kRead,%al
|
||||||
|
je Read
|
||||||
cmp $kCons,%al
|
cmp $kCons,%al
|
||||||
jae .ifCons
|
jae .ifCons
|
||||||
.ifCar: cmp $kCar,%al
|
.ifCar: cmp $kCar,%al
|
||||||
|
|
@ -279,8 +279,6 @@ Eval: test %ax,%ax # Eval(e:ax,a:dx):ax
|
||||||
jns Assoc # lookup val if atom
|
jns Assoc # lookup val if atom
|
||||||
xchg %ax,%si # di = e
|
xchg %ax,%si # di = e
|
||||||
lodsw # ax = Car(e)
|
lodsw # ax = Car(e)
|
||||||
cmp $kRead,%ax
|
|
||||||
je Read
|
|
||||||
cmp $kQuote,%ax # maybe CONS
|
cmp $kQuote,%ax # maybe CONS
|
||||||
mov (%si),%di # di = Cdr(e)
|
mov (%si),%di # di = Cdr(e)
|
||||||
je Car
|
je Car
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue