From e6c65971858cea05da192bddccae21843dd4b930 Mon Sep 17 00:00:00 2001 From: Hikaru Ikuta Date: Sun, 9 Jan 2022 08:44:36 +0900 Subject: [PATCH] Separate Read and .ifRead --- sectorlisp.S | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sectorlisp.S b/sectorlisp.S index c051e19..9e343de 100644 --- a/sectorlisp.S +++ b/sectorlisp.S @@ -94,7 +94,8 @@ GetToken: # GetToken():al, dl is g_look 4: mov $')',%al jmp PutChar -Print: xchg %di,%si # Print(x:si) +.ifPrint: + xchg %di,%si # Print(x:si) test %di,%di jnz PrintObject # print newline for empty args mov $'\r',%al @@ -110,8 +111,8 @@ PrintObject: # PrintObject(x:si) jnz .PrintString # -> ret ret -Read: mov %bp,%dx # get cached character - call GetToken +.ifRead:mov %bp,%dx # get cached character +Read: call GetToken # jmp GetObject GetObject: # called just after GetToken @@ -222,9 +223,9 @@ Pairlis:test %di,%di # Pairlis(x:di,y:si,a:dx):dx mov (%si),%di # di = Car(x) je .ifAtom cmp $kPrint,%al - je Print + je .ifPrint cmp $kRead,%al - je Read + je .ifRead cmp $kCons,%al jae .ifCons .ifCar: cmp $kCar,%al