diff --git a/bin/sectorlisp.bin b/bin/sectorlisp.bin index 7f12dcb..bdbecf2 100755 Binary files a/bin/sectorlisp.bin and b/bin/sectorlisp.bin differ diff --git a/sectorlisp.S b/sectorlisp.S index d4cbee8..f9ed542 100644 --- a/sectorlisp.S +++ b/sectorlisp.S @@ -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