From a8f04bc73f750ba7984394596cdf76622650b26a Mon Sep 17 00:00:00 2001 From: Justine Tunney Date: Tue, 16 Nov 2021 22:05:08 -0800 Subject: [PATCH] Make objdump -Mi8086 sectorlisp.o output look nicer --- sectorlisp.S | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/sectorlisp.S b/sectorlisp.S index 426df7a..60857ef 100644 --- a/sectorlisp.S +++ b/sectorlisp.S @@ -22,15 +22,15 @@ // LISP meta-circular evaluator in a MBR // Compatible with the original hardware -.set ATOM_NIL, (kNil-kSymbols)<<1|1 -.set ATOM_QUOTE, (kQuote-kSymbols)<<1|1 -.set ATOM_COND, (kCond-kSymbols)<<1|1 -.set ATOM_ATOM, (kAtom-kSymbols)<<1|1 -.set ATOM_CAR, (kCar-kSymbols)<<1|1 -.set ATOM_CDR, (kCdr-kSymbols)<<1|1 -.set ATOM_EQ, (kEq-kSymbols)<<1|1 -.set ATOM_CONS, (kCons-kSymbols)<<1|1 -.set ATOM_T, (kT-kSymbols)<<1|1 +.set ATOM_NIL, (kNil-kNil)<<1|1 +.set ATOM_QUOTE, (kQuote-kNil)<<1|1 +.set ATOM_COND, (kCond-kNil)<<1|1 +.set ATOM_ATOM, (kAtom-kNil)<<1|1 +.set ATOM_CAR, (kCar-kNil)<<1|1 +.set ATOM_CDR, (kCdr-kNil)<<1|1 +.set ATOM_EQ, (kEq-kNil)<<1|1 +.set ATOM_CONS, (kCons-kNil)<<1|1 +.set ATOM_T, (kT-kNil)<<1|1 .set g_str, 0x0 .set g_token, %bp @@ -40,16 +40,24 @@ .set TWO, %bx .section .text,"ax",@progbits -.type kSymbols,@object -.type _begin,@function +.type kNil,@object +.type kT,@object +.type kQuote,@object +.type kCond,@object +.type kAtom,@object +.type kCar,@object +.type kCdr,@object +.type kCons,@object +.type kEq,@object +.type begin,@function +.type start,@function .globl _start .code16 _start: -kSymbols: kNil: .asciz "NIL" # dec %si ; dec %cx ; dec %sp kT: .asciz "T" # add %dl,(%si) boot A:\ DL=0 - ljmp $0x7c00>>4,$_begin # cs = 0x7c00 is boot address +start: ljmp $0x7c00>>4,$begin # cs = 0x7c00 is boot address .asciz "" # x86 prog part of intern tab kQuote: .asciz "QUOTE" kCond: .asciz "COND" @@ -58,7 +66,7 @@ kCar: .asciz "CAR" kCdr: .asciz "CDR" kCons: .asciz "CONS" kEq: .asciz "EQ" # needs to be last -_begin: push %cs # memory model ds=es=ss=cs +begin: push %cs # memory model ds=es=ss=cs pop %ds push %cs pop %es