mirror of
https://github.com/samsonjs/sectorlisp.git
synced 2026-03-25 09:05:48 +00:00
shave two bytes
This commit is contained in:
parent
88e749ea79
commit
a557787f5f
2 changed files with 9 additions and 9 deletions
Binary file not shown.
18
sectorlisp.S
18
sectorlisp.S
|
|
@ -229,23 +229,23 @@ Apply: test %ax,%ax # Apply(fn:ax,x:si:a:dx):ax
|
|||
mov (%bx,%si),%si # si = Cdr(x)
|
||||
lodsw # si = Cadr(x)
|
||||
je Cons
|
||||
.isEq: cmp %di,%ax # we know for certain it's eq
|
||||
.isEq: xor %di,%ax # we know for certain it's eq
|
||||
jne .retF
|
||||
.retT: mov $kT,%ax
|
||||
.retT: mov $kT,%al
|
||||
ret
|
||||
|
||||
Cadr: mov (%bx,%di),%di # contents of decrement register
|
||||
.byte 0x3C # cmp §scasw,%al (nop next byte)
|
||||
Cdr: scasw # increments our data index by 2
|
||||
Car: mov (%di),%ax # contents of address register!!
|
||||
2: ret
|
||||
|
||||
Assoc: mov %dx,%si # Assoc(x:ax,y:dx):ax
|
||||
1: mov (%si),%di
|
||||
mov (%bx,%si),%si
|
||||
scasw
|
||||
jne 1b
|
||||
jmp Car
|
||||
.byte 0xF6 # test §mov/cmp (nop next bytes)
|
||||
Cadr: mov (%bx,%di),%di # contents of decrement register
|
||||
.byte 0x3C # cmp §scasw,%al (nop next byte)
|
||||
Cdr: scasw # increments our data index by 2
|
||||
Car: mov (%di),%ax # contents of address register!!
|
||||
2: ret
|
||||
|
||||
|
||||
1: mov (%bx,%di),%di # di = Cdr(c)
|
||||
Evcon: push %di # save c
|
||||
|
|
|
|||
Loading…
Reference in a new issue