|
@@ -111,7 +111,8 @@ GetObject: # called just after GetToken
|
|
|
dec %di
|
|
|
scasb
|
|
|
jne 1b
|
|
|
- jmp 5f
|
|
|
+ pop %ax # restore 1
|
|
|
+ ret
|
|
|
2: pop %bp # drop 1
|
|
|
mov %cx,%si
|
|
|
3: scasb
|
|
@@ -123,8 +124,8 @@ GetObject: # called just after GetToken
|
|
|
dec %di
|
|
|
scasb
|
|
|
jnz 4b
|
|
|
-5: pop %ax # restore 1
|
|
|
-.ret: ret
|
|
|
+ pop %ax # restore 1
|
|
|
+ ret
|
|
|
|
|
|
GetChar:xor %ax,%ax # GetChar→al:dl
|
|
|
int $0x16 # get keystroke
|
|
@@ -140,8 +141,7 @@ PutChar:mov $0x0e,%ah # prints CP-437
|
|
|
Pairlis:test %di,%di # Pairlis(x:di,y:si,a:dx):ax
|
|
|
jz 1f # jump if nil
|
|
|
push (%bx,%di) # save 1 Cdr(x)
|
|
|
- lodsw
|
|
|
- push (%si) # save 2 Cdr(y)
|
|
|
+ push (%bx,%si) # save 2 Cdr(y)
|
|
|
mov (%di),%di
|
|
|
call Cons # preserves dx
|
|
|
pop %si # restore 2
|