From 690fa191f1533379a21ae9f0253f80068ad1a800 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Mon, 29 Jun 2020 18:01:44 -0700 Subject: 6595 --- 066write-int-hex.subx | 22 +++---- 067parse-hex.subx | 4 +- 075print-int-decimal.subx | 2 +- 103screen.subx | 2 +- 104keyboard.subx | 8 +-- apps/assort | Bin 44396 -> 44400 bytes apps/assort.subx | 16 ++--- apps/braces | Bin 46259 -> 46263 bytes apps/braces.subx | 8 +-- apps/calls | Bin 50906 -> 50910 bytes apps/calls.subx | 6 +- apps/crenshaw2-1 | Bin 43737 -> 43741 bytes apps/crenshaw2-1b | Bin 44284 -> 44288 bytes apps/dquotes | Bin 48018 -> 48022 bytes apps/factorial | Bin 42840 -> 42844 bytes apps/hex | Bin 46576 -> 46580 bytes apps/mu | Bin 341138 -> 341142 bytes apps/mu.subx | 158 +++++++++++++++++++++++----------------------- apps/pack | Bin 56975 -> 56979 bytes apps/random.subx | 4 +- apps/sigils | Bin 58628 -> 58632 bytes apps/sigils.subx | 52 +++++++-------- apps/survey | Bin 54328 -> 54332 bytes apps/survey.subx | 16 ++--- apps/tests | Bin 43168 -> 43172 bytes 25 files changed, 149 insertions(+), 149 deletions(-) diff --git a/066write-int-hex.subx b/066write-int-hex.subx index 6746891e..b1909940 100644 --- a/066write-int-hex.subx +++ b/066write-int-hex.subx @@ -263,7 +263,7 @@ test-print-int32: # . end c3/return -print-int32-buffered: # f: (addr buffered-file), n: int +write-int32-hex-buffered: # f: (addr buffered-file), n: int # pseudocode: # write-buffered(f, "0x") # ecx = 28 @@ -282,7 +282,7 @@ print-int32-buffered: # f: (addr buffered-file), n: int 51/push-ecx # ecx = 28 b9/copy-to-ecx 0x1c/imm32 -$print-int32-buffered:print-hex-prefix: +$write-int32-hex-buffered:print-hex-prefix: # write-buffered(f, "0x") # . . push args 68/push "0x"/imm32 @@ -291,10 +291,10 @@ $print-int32-buffered:print-hex-prefix: e8/call write-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp -$print-int32-buffered:loop: +$write-int32-hex-buffered:loop: # if (ecx < 0) break 81 7/subop/compare 3/mod/direct 1/rm32/ecx . . . . . 0/imm32 # compare ecx - 7c/jump-if-< $print-int32-buffered:end/disp8 + 7c/jump-if-< $write-int32-hex-buffered:end/disp8 # eax = n >> ecx 8b/copy 1/mod/*+disp8 5/rm32/ebp . . . 0/r32/eax 0xc/disp8 . # copy *(ebp+12) to eax d3/>>ecx 5/subop/pad-zeroes 3/mod/direct 0/rm32/eax . . . . . . # shift eax right by ecx bits, padding zeroes @@ -311,8 +311,8 @@ $print-int32-buffered:loop: 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # ecx -= 4 81 5/subop/subtract 3/mod/direct 1/rm32/ecx . . . . . 4/imm32 # subtract from ecx - eb/jump $print-int32-buffered:loop/disp8 -$print-int32-buffered:end: + eb/jump $write-int32-hex-buffered:loop/disp8 +$write-int32-hex-buffered:end: # . restore registers 59/pop-to-ecx 58/pop-to-eax @@ -321,8 +321,8 @@ $print-int32-buffered:end: 5d/pop-to-ebp c3/return -test-print-int32-buffered: - # - check that print-int32-buffered prints the hex textual representation +test-write-int32-hex-buffered: + # - check that write-int32-hex-buffered prints the hex textual representation # setup # . clear-stream(_test-stream) # . . push args @@ -338,12 +338,12 @@ test-print-int32-buffered: e8/call clear-stream/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp - # print-int32-buffered(_test-buffered-file, 0x8899aa) + # write-int32-hex-buffered(_test-buffered-file, 0x8899aa) # . . push args 68/push 0x8899aa/imm32 68/push _test-buffered-file/imm32 # . . call - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # flush(_test-buffered-file) @@ -373,7 +373,7 @@ test-print-int32-buffered: #? # }}} # check-stream-equal(_test-stream, "0x008899aa", msg) # . . push args - 68/push "F - test-print-int32-buffered"/imm32 + 68/push "F - test-write-int32-hex-buffered"/imm32 68/push "0x008899aa"/imm32 68/push _test-stream/imm32 # . . call diff --git a/067parse-hex.subx b/067parse-hex.subx index e9136696..83fcabe3 100644 --- a/067parse-hex.subx +++ b/067parse-hex.subx @@ -907,12 +907,12 @@ $from-hex-char:abort: 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp # . . restore eax 58/pop-to-eax - # . print-int32-buffered(Stderr, eax) + # . write-int32-hex-buffered(Stderr, eax) # . . push args 50/push-eax 68/push Stderr/imm32 # . . call - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # . flush(Stderr) diff --git a/075print-int-decimal.subx b/075print-int-decimal.subx index 38edd445..f0039cc4 100644 --- a/075print-int-decimal.subx +++ b/075print-int-decimal.subx @@ -440,7 +440,7 @@ $to-decimal-digit:abort: 68/push Stderr/imm32 # . . call #? e8/call write-byte-buffered/disp32 - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # . write-buffered(stderr, "\n") diff --git a/103screen.subx b/103screen.subx index e4645836..f37f994b 100644 --- a/103screen.subx +++ b/103screen.subx @@ -159,7 +159,7 @@ print-int32-to-screen: # n: int 55/push-ebp 89/<- %ebp 4/r32/esp # - (print-int32-buffered Stdout *(ebp+8)) + (write-int32-hex-buffered Stdout *(ebp+8)) (flush Stdout) $print-int32-to-screen:end: # . epilogue diff --git a/104keyboard.subx b/104keyboard.subx index f8213b9c..04c49784 100644 --- a/104keyboard.subx +++ b/104keyboard.subx @@ -27,26 +27,26 @@ enable-keyboard-immediate-mode: e8/call syscall_ioctl/disp32 # terminal-info->c_iflags &= Keyboard-immediate-mode-iflags #? (write-buffered Stderr "iflags before: ") -#? (print-int32-buffered Stderr *esi) +#? (write-int32-hex-buffered Stderr *esi) #? (write-buffered Stderr Newline) #? (flush Stderr) 8b/-> *esi 0/r32/eax # Termios-c_iflag 23/and *Keyboard-immediate-mode-iflags 0/r32/eax 89/<- *esi 0/r32/eax # Termios-c_iflag #? (write-buffered Stderr "iflags after: ") -#? (print-int32-buffered Stderr *esi) +#? (write-int32-hex-buffered Stderr *esi) #? (write-buffered Stderr Newline) #? (flush Stderr) # terminal-info->c_lflags &= Keyboard-immediate-mode-lflags #? (write-buffered Stderr "lflags before: ") -#? (print-int32-buffered Stderr *(esi+0xc)) +#? (write-int32-hex-buffered Stderr *(esi+0xc)) #? (write-buffered Stderr Newline) #? (flush Stderr) 8b/-> *(esi+0xc) 0/r32/eax # Termios-c_lflag 23/and *Keyboard-immediate-mode-lflags 0/r32/eax 89/<- *(esi+0xc) 0/r32/eax # Termios-c_lflag #? (write-buffered Stderr "lflags after: ") -#? (print-int32-buffered Stderr *(esi+0xc)) +#? (write-int32-hex-buffered Stderr *(esi+0xc)) #? (write-buffered Stderr Newline) #? (flush Stderr) # ioctl(*Terminal-file-descriptor, TCSETS, terminal-info) diff --git a/apps/assort b/apps/assort index ed5e532e..3fa8621a 100755 Binary files a/apps/assort and b/apps/assort differ diff --git a/apps/assort.subx b/apps/assort.subx index fa33fcc7..fbf7e8dc 100644 --- a/apps/assort.subx +++ b/apps/assort.subx @@ -736,12 +736,12 @@ $read-segments:check-for-segment-header: #? e8/call write/disp32 #? # . . discard args #? 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp -#? # . print-int32-buffered(Stderr, segment-slot) +#? # . write-int32-hex-buffered(Stderr, segment-slot) #? # . . push args #? 57/push-edi #? 68/push Stderr/imm32 #? # . . call -#? e8/call print-int32-buffered/disp32 +#? e8/call write-int32-hex-buffered/disp32 #? # . . discard args #? 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp #? # . flush(Stderr) @@ -851,12 +851,12 @@ $read-segments:regular-line: #? e8/call write/disp32 #? # . . discard args #? 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp -#? # . print-int32-buffered(Stderr, curr-segment) +#? # . write-int32-hex-buffered(Stderr, curr-segment) #? # . . push args #? 53/push-ebx #? 68/push Stderr/imm32 #? # . . call -#? e8/call print-int32-buffered/disp32 +#? e8/call write-int32-hex-buffered/disp32 #? # . . discard args #? 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp #? # . flush(Stderr) @@ -884,12 +884,12 @@ $read-segments:regular-line: #? e8/call write/disp32 #? # . . discard args #? 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp -#? # . print-int32-buffered(Stderr, curr-segment->write) +#? # . write-int32-hex-buffered(Stderr, curr-segment->write) #? # . . push args #? ff 6/subop/push 0/mod/indirect 3/rm32/ebx . . . . . . # push *ebx #? 68/push Stderr/imm32 #? # . . call -#? e8/call print-int32-buffered/disp32 +#? e8/call write-int32-hex-buffered/disp32 #? # . . discard args #? 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp #? # . flush(Stderr) @@ -917,12 +917,12 @@ $read-segments:regular-line: #? e8/call write/disp32 #? # . . discard args #? 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp -#? # . print-int32-buffered(Stderr, curr-segment->size) +#? # . write-int32-hex-buffered(Stderr, curr-segment->size) #? # . . push args #? ff 6/subop/push 1/mod/*+disp8 3/rm32/ebx . . . . 8/disp8 . # push *(ebx+8) #? 68/push Stderr/imm32 #? # . . call -#? e8/call print-int32-buffered/disp32 +#? e8/call write-int32-hex-buffered/disp32 #? # . . discard args #? 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp #? # . flush(Stderr) diff --git a/apps/braces b/apps/braces index 710fb8a7..a3946a73 100755 Binary files a/apps/braces and b/apps/braces differ diff --git a/apps/braces.subx b/apps/braces.subx index a3d1e30e..3727f13b 100644 --- a/apps/braces.subx +++ b/apps/braces.subx @@ -159,7 +159,7 @@ $subx-braces:check-for-curly-open: $subx-braces:emit-curly-open: # print(out, "_loop" next-label-id ":") (write-buffered *(ebp+0xc) "_loop") - (print-int32-buffered *(ebp+0xc) %ebx) + (write-int32-hex-buffered *(ebp+0xc) %ebx) (write-buffered *(ebp+0xc) ":") # push(label-stack, next-label-id) (push %edx %ebx) @@ -176,7 +176,7 @@ $subx-braces:emit-curly-closed: (pop %edx) # print(out, "_break" eax ":") (write-buffered *(ebp+0xc) "_break") - (print-int32-buffered *(ebp+0xc) %eax) + (write-int32-hex-buffered *(ebp+0xc) %eax) (write-buffered *(ebp+0xc) ":") # continue e9/jump $subx-braces:next-line/disp32 @@ -207,7 +207,7 @@ $subx-braces:emit-break: (top %edx) # print(out, "_break" eax) (write-buffered *(ebp+0xc) "_break") - (print-int32-buffered *(ebp+0xc) %eax) + (write-int32-hex-buffered *(ebp+0xc) %eax) # word-slice->start += len("break") 81 0/subop/add *edi 5/imm32/strlen # emit rest of word as usual @@ -223,7 +223,7 @@ $subx-braces:emit-loop: (top %edx) # print(out, "_loop" eax) (write-buffered *(ebp+0xc) "_loop") - (print-int32-buffered *(ebp+0xc) %eax) + (write-int32-hex-buffered *(ebp+0xc) %eax) # word-slice->start += len("loop") 81 0/subop/add *edi 4/imm32/strlen # fall through diff --git a/apps/calls b/apps/calls index 18e07c13..d8795c37 100755 Binary files a/apps/calls and b/apps/calls differ diff --git a/apps/calls.subx b/apps/calls.subx index e0ec7dc8..4b91b628 100644 --- a/apps/calls.subx +++ b/apps/calls.subx @@ -363,7 +363,7 @@ emit-call: # out: (addr buffered-file), words: (addr stream slice) # write-buffered(out, "/disp32\n") # # emit pops # write-buffered(out, "81 0/subop/add %esp ") - # print-int32-buffered(out, words->write >> 1 - 4) + # write-int32-hex-buffered(out, words->write >> 1 - 4) # write-buffered(out, "/imm32\n") # # . prologue @@ -487,7 +487,7 @@ $emit-call:pop-instruction: e8/call write-buffered/disp32 # . . discard args 81 0/subop/add %esp 8/imm32 - # print-int32-buffered(out, words->write >> 1 - 4) + # write-int32-hex-buffered(out, words->write >> 1 - 4) # . . push args 8b/-> *esi 0/r32/eax c1/shift 7/subop/arith-right %eax 1/imm8 @@ -495,7 +495,7 @@ $emit-call:pop-instruction: 50/push-eax ff 6/subop/push *(ebp+8) # . . call - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # . . discard args 81 0/subop/add %esp 8/imm32 # write-buffered(out, "/imm32\n") diff --git a/apps/crenshaw2-1 b/apps/crenshaw2-1 index 3c86c4cc..001c6697 100755 Binary files a/apps/crenshaw2-1 and b/apps/crenshaw2-1 differ diff --git a/apps/crenshaw2-1b b/apps/crenshaw2-1b index a9ca75d0..7f0877ea 100755 Binary files a/apps/crenshaw2-1b and b/apps/crenshaw2-1b differ diff --git a/apps/dquotes b/apps/dquotes index 80b18682..e9c0927e 100755 Binary files a/apps/dquotes and b/apps/dquotes differ diff --git a/apps/factorial b/apps/factorial index 4cd0d4e4..189effed 100755 Binary files a/apps/factorial and b/apps/factorial differ diff --git a/apps/hex b/apps/hex index e6f9e3f1..6f01b512 100755 Binary files a/apps/hex and b/apps/hex differ diff --git a/apps/mu b/apps/mu index c3144d0a..54f8ac5d 100755 Binary files a/apps/mu and b/apps/mu differ diff --git a/apps/mu.subx b/apps/mu.subx index b63c05d1..391dee3c 100644 --- a/apps/mu.subx +++ b/apps/mu.subx @@ -6088,7 +6088,7 @@ $parse-mu:error1: $parse-mu:error2: # error(vars->top " vars not reclaimed after fn '" new-function->name "'\n") - (print-int32-buffered *(ebp+0xc) *ebx) + (write-int32-hex-buffered *(ebp+0xc) *ebx) (write-buffered *(ebp+0xc) " vars not reclaimed after fn '") (write-slice-buffered *(ebp+0xc) *eax) # Function-name (write-buffered *(ebp+0xc) "'\n") @@ -6996,7 +6996,7 @@ pos-slice: # arr: (addr stream (addr array byte)), s: (addr slice) -> index/eax 8d/copy-address *(esi+ebx+0xc) 3/r32/ebx { #? (write-buffered Stderr " ") -#? (print-int32-buffered Stderr %ecx) +#? (write-int32-hex-buffered Stderr %ecx) #? (write-buffered Stderr "\n") #? (flush Stderr) # if (curr >= max) return -1 @@ -7018,7 +7018,7 @@ pos-slice: # arr: (addr stream (addr array byte)), s: (addr slice) -> index/eax 89/<- %eax 1/r32/ecx $pos-slice:end: #? (write-buffered Stderr "=> ") -#? (print-int32-buffered Stderr %eax) +#? (write-int32-hex-buffered Stderr %eax) #? (write-buffered Stderr "\n") # . restore registers 5e/pop-to-esi @@ -7834,9 +7834,9 @@ new-block-name: # fn: (addr function), out: (addr handle var) (new-literal Heap %eax *(ebp+0xc)) #? 8b/-> *(ebp+0xc) 0/r32/eax #? (write-buffered Stderr "type allocid in caller after new-literal: ") -#? (print-int32-buffered Stderr *(eax+8)) +#? (write-int32-hex-buffered Stderr *(eax+8)) #? (write-buffered Stderr " for var ") -#? (print-int32-buffered Stderr %eax) +#? (write-int32-hex-buffered Stderr %eax) #? (write-buffered Stderr Newline) #? (flush Stderr) $new-block-name:end: @@ -8351,7 +8351,7 @@ $add-operation-and-inputs-to-stmt:read-inouts: (lookup-or-create-constant %eax %ecx %esi) #? (lookup *esi *(esi+4)) #? (write-buffered Stderr "creating new output var ") -#? (print-int32-buffered Stderr %eax) +#? (write-int32-hex-buffered Stderr %eax) #? (write-buffered Stderr " for field called ") #? (write-slice-buffered Stderr %ecx) #? (write-buffered Stderr "; var name ") @@ -9108,7 +9108,7 @@ new-var: # ad: (addr allocation-descriptor), name: (handle array byte), out: (a #? (write-buffered Stderr " at ") #? 8b/-> *(ebp+0x14) 1/r32/ecx #? (lookup *ecx *(ecx+4)) # => eax -#? (print-int32-buffered Stderr %eax) +#? (write-int32-hex-buffered Stderr %eax) #? (write-buffered Stderr Newline) #? (flush Stderr) $new-var:end: @@ -9454,14 +9454,14 @@ lookup-or-create-constant: # container: (addr stmt-var), field-name: (addr slic #? 8b/-> *(ebp+0x10) 0/r32/eax #? (write-buffered Stderr "@") #? (lookup *eax *(eax+4)) -#? (print-int32-buffered Stderr %eax) +#? (write-int32-hex-buffered Stderr %eax) #? (lookup *eax *(eax+4)) #? (write-buffered Stderr %eax) #? (write-buffered Stderr Newline) #? (flush Stderr) #? (write-buffered Stderr "offset: ") #? 8b/-> *(eax+0x14) 0/r32/eax -#? (print-int32-buffered Stderr %eax) +#? (write-int32-hex-buffered Stderr %eax) #? (write-buffered Stderr Newline) #? (flush Stderr) $lookup-or-create-constant:end: @@ -9543,9 +9543,9 @@ $find-or-create-typeinfo:create: # var tmp/eax: (addr typeinfo) = lookup(*out) (lookup *edi *(edi+4)) # => eax #? (write-buffered Stderr "created typeinfo at ") -#? (print-int32-buffered Stderr %eax) +#? (write-int32-hex-buffered Stderr %eax) #? (write-buffered Stderr " for type-id ") -#? (print-int32-buffered Stderr *(ebp+8)) +#? (write-int32-hex-buffered Stderr *(ebp+8)) #? (write-buffered Stderr Newline) #? (flush Stderr) # tmp->id = t @@ -9719,18 +9719,18 @@ find-or-create-typeinfo-fields: # T: (addr typeinfo), f: (addr slice), out: (ad 75/jump-if-!= break/disp8 (allocate Heap *Typeinfo-entry-size %esi) #? (write-buffered Stderr "handle at ") -#? (print-int32-buffered Stderr %esi) +#? (write-int32-hex-buffered Stderr %esi) #? (write-buffered Stderr ": ") -#? (print-int32-buffered Stderr *esi) +#? (write-int32-hex-buffered Stderr *esi) #? (write-buffered Stderr " ") -#? (print-int32-buffered Stderr *(esi+4)) +#? (write-int32-hex-buffered Stderr *(esi+4)) #? (write-buffered Stderr Newline) #? (flush Stderr) #? (lookup *esi *(esi+4)) #? (write-buffered Stderr "created typeinfo fields at ") -#? (print-int32-buffered Stderr %esi) +#? (write-int32-hex-buffered Stderr %esi) #? (write-buffered Stderr " for ") -#? (print-int32-buffered Stderr *(ebp+8)) +#? (write-int32-hex-buffered Stderr *(ebp+8)) #? (write-buffered Stderr Newline) #? (flush Stderr) } @@ -9844,9 +9844,9 @@ $populate-mu-type:create-typeinfo-fields: (lookup *ebx *(ebx+4)) # => eax 8b/-> *(ebp-4) 1/r32/ecx #? (write-buffered Stderr "saving index ") -#? (print-int32-buffered Stderr %ecx) +#? (write-int32-hex-buffered Stderr %ecx) #? (write-buffered Stderr " at ") -#? (print-int32-buffered Stderr %edi) +#? (write-int32-hex-buffered Stderr %edi) #? (write-buffered Stderr Newline) #? (flush Stderr) 89/<- *(eax+8) 1/r32/ecx # Typeinfo-entry-index @@ -10164,9 +10164,9 @@ $populate-mu-type-offsets:loop: 39/compare %ebx 2/r32/edx 0f 8d/jump-if->= break/disp32 #? (write-buffered Stderr "looking up index ") -#? (print-int32-buffered Stderr %ebx) +#? (write-int32-hex-buffered Stderr %ebx) #? (write-buffered Stderr " in ") -#? (print-int32-buffered Stderr *(ebp+8)) +#? (write-int32-hex-buffered Stderr *(ebp+8)) #? (write-buffered Stderr Newline) #? (flush Stderr) # var v/esi: (addr typeinfo-entry) @@ -10229,9 +10229,9 @@ $locate-typeinfo-entry-with-index:loop: # if (v->index == idx) return v 8b/-> *(eax+8) 3/r32/ebx # Typeinfo-entry-index #? (write-buffered Stderr "comparing ") -#? (print-int32-buffered Stderr %ebx) +#? (write-int32-hex-buffered Stderr %ebx) #? (write-buffered Stderr " and ") -#? (print-int32-buffered Stderr *(ebp+0xc)) +#? (write-int32-hex-buffered Stderr *(ebp+0xc)) #? (write-buffered Stderr Newline) #? (flush Stderr) 39/compare *(ebp+0xc) 3/r32/ebx @@ -10245,7 +10245,7 @@ $locate-typeinfo-entry-with-index:loop: b8/copy-to-eax 0/imm32 $locate-typeinfo-entry-with-index:end: #? (write-buffered Stderr "returning ") -#? (print-int32-buffered Stderr %eax) +#? (write-int32-hex-buffered Stderr %eax) #? (write-buffered Stderr Newline) #? (flush Stderr) # . restore registers @@ -10306,22 +10306,22 @@ dump-typeinfo: # in: (addr typeinfo) (lookup *(esi+4) *(esi+8)) # Typeinfo-fields Typeinfo-fields => eax 89/<- %ecx 0/r32/eax (write-buffered Stderr "id:") - (print-int32-buffered Stderr *esi) + (write-int32-hex-buffered Stderr *esi) (write-buffered Stderr "\n") (write-buffered Stderr "fields @ ") - (print-int32-buffered Stderr %ecx) + (write-int32-hex-buffered Stderr %ecx) (write-buffered Stderr Newline) (flush Stderr) (write-buffered Stderr " write: ") - (print-int32-buffered Stderr *ecx) + (write-int32-hex-buffered Stderr *ecx) (write-buffered Stderr Newline) (flush Stderr) (write-buffered Stderr " read: ") - (print-int32-buffered Stderr *(ecx+4)) + (write-int32-hex-buffered Stderr *(ecx+4)) (write-buffered Stderr Newline) (flush Stderr) (write-buffered Stderr " size: ") - (print-int32-buffered Stderr *(ecx+8)) + (write-int32-hex-buffered Stderr *(ecx+8)) (write-buffered Stderr Newline) (flush Stderr) # var table-size/edx: int = table->write @@ -10337,30 +10337,30 @@ $dump-typeinfo:loop: 0f 83/jump-if-addr>= break/disp32 (write-buffered Stderr " row:\n") (write-buffered Stderr " key: ") - (print-int32-buffered Stderr *ecx) + (write-int32-hex-buffered Stderr *ecx) (write-buffered Stderr ",") - (print-int32-buffered Stderr *(ecx+4)) + (write-int32-hex-buffered Stderr *(ecx+4)) (write-buffered Stderr " = '") (lookup *ecx *(ecx+4)) (write-buffered Stderr %eax) (write-buffered Stderr "' @ ") - (print-int32-buffered Stderr %eax) + (write-int32-hex-buffered Stderr %eax) (write-buffered Stderr Newline) (flush Stderr) (write-buffered Stderr " value: ") - (print-int32-buffered Stderr *(ecx+8)) + (write-int32-hex-buffered Stderr *(ecx+8)) (write-buffered Stderr ",") - (print-int32-buffered Stderr *(ecx+0xc)) + (write-int32-hex-buffered Stderr *(ecx+0xc)) (write-buffered Stderr " = typeinfo-entry@") (lookup *(ecx+8) *(ecx+0xc)) - (print-int32-buffered Stderr %eax) + (write-int32-hex-buffered Stderr %eax) (write-buffered Stderr Newline) (flush Stderr) (write-buffered Stderr " input var@") (dump-var 5 %eax) (lookup *(ecx+8) *(ecx+0xc)) (write-buffered Stderr " index: ") - (print-int32-buffered Stderr *(eax+8)) + (write-int32-hex-buffered Stderr *(eax+8)) (write-buffered Stderr Newline) (flush Stderr) (write-buffered Stderr " output var@") @@ -10395,12 +10395,12 @@ dump-var: # indent: int, v: (addr handle var) # eax = v 8b/-> *(ebp+0xc) 0/r32/eax # - (print-int32-buffered Stderr *eax) + (write-int32-hex-buffered Stderr *eax) (write-buffered Stderr ",") - (print-int32-buffered Stderr *(eax+4)) + (write-int32-hex-buffered Stderr *(eax+4)) (write-buffered Stderr "->") (lookup *eax *(eax+4)) - (print-int32-buffered Stderr %eax) + (write-int32-hex-buffered Stderr %eax) (write-buffered Stderr Newline) (flush Stderr) { @@ -10409,12 +10409,12 @@ dump-var: # indent: int, v: (addr handle var) (emit-indent Stderr *(ebp+8)) (write-buffered Stderr "name: ") 89/<- %ebx 0/r32/eax - (print-int32-buffered Stderr *ebx) # Var-name + (write-int32-hex-buffered Stderr *ebx) # Var-name (write-buffered Stderr ",") - (print-int32-buffered Stderr *(ebx+4)) # Var-name + (write-int32-hex-buffered Stderr *(ebx+4)) # Var-name (write-buffered Stderr "->") (lookup *ebx *(ebx+4)) # Var-name - (print-int32-buffered Stderr %eax) + (write-int32-hex-buffered Stderr %eax) { 3d/compare-eax-and 0/imm32 74/jump-if-= break/disp8 @@ -10425,23 +10425,23 @@ dump-var: # indent: int, v: (addr handle var) (flush Stderr) (emit-indent Stderr *(ebp+8)) (write-buffered Stderr "block depth: ") - (print-int32-buffered Stderr *(ebx+0x10)) # Var-block-depth + (write-int32-hex-buffered Stderr *(ebx+0x10)) # Var-block-depth (write-buffered Stderr Newline) (flush Stderr) (emit-indent Stderr *(ebp+8)) (write-buffered Stderr "stack offset: ") - (print-int32-buffered Stderr *(ebx+0x14)) # Var-offset + (write-int32-hex-buffered Stderr *(ebx+0x14)) # Var-offset (write-buffered Stderr Newline) (flush Stderr) (emit-indent Stderr *(ebp+8)) (write-buffered Stderr "reg: ") - (print-int32-buffered Stderr *(ebx+0x18)) # Var-register + (write-int32-hex-buffered Stderr *(ebx+0x18)) # Var-register (write-buffered Stderr ",") - (print-int32-buffered Stderr *(ebx+0x1c)) # Var-register + (write-int32-hex-buffered Stderr *(ebx+0x1c)) # Var-register (write-buffered Stderr "->") (flush Stderr) (lookup *(ebx+0x18) *(ebx+0x1c)) # Var-register - (print-int32-buffered Stderr %eax) + (write-int32-hex-buffered Stderr %eax) { 3d/compare-eax-and 0/imm32 74/jump-if-= break/disp8 @@ -11624,10 +11624,10 @@ size-of: # v: (addr var) -> result/eax: int # var t/ecx: (addr tree type-id) = lookup(v->type) 8b/-> *(ebp+8) 1/r32/ecx #? (write-buffered Stderr "size-of ") -#? (print-int32-buffered Stderr %ecx) +#? (write-int32-hex-buffered Stderr %ecx) #? (write-buffered Stderr Newline) #? (write-buffered Stderr "type allocid: ") -#? (print-int32-buffered Stderr *(ecx+8)) +#? (write-int32-hex-buffered Stderr *(ecx+8)) #? (write-buffered Stderr Newline) #? (flush Stderr) (lookup *(ecx+8) *(ecx+0xc)) # Var-type Var-type => eax @@ -11979,9 +11979,9 @@ $populate-mu-type-offsets-in-inouts:loop: #? (write-buffered Stderr "setting offset of fn inout ") #? (write-buffered Stderr %eax) #? (write-buffered Stderr "@") -#? (print-int32-buffered Stderr %ebx) +#? (write-int32-hex-buffered Stderr %ebx) #? (write-buffered Stderr " to ") -#? (print-int32-buffered Stderr %edx) +#? (write-int32-hex-buffered Stderr %edx) #? (write-buffered Stderr Newline) #? (flush Stderr) # v->offset = next-offset @@ -12217,7 +12217,7 @@ push-output-and-maybe-emit-spill: # out: (addr buffered-file), stmt: (addr reg- #? (lookup *ecx *(ecx+4)) #? (write-buffered Stderr %eax) #? (write-buffered Stderr " at depth ") -#? (print-int32-buffered Stderr *(ecx+0x10)) +#? (write-int32-hex-buffered Stderr *(ecx+0x10)) #? (write-buffered Stderr Newline) #? (flush Stderr) # ensure that v is in a register @@ -12525,7 +12525,7 @@ $emit-cleanup-code-until-depth:var-on-stack: $emit-cleanup-code-until-depth:reclaim-var-on-stack: (emit-indent *(ebp+8) *Curr-block-depth) (write-buffered *(ebp+8) "81 0/subop/add %esp ") - (print-int32-buffered *(ebp+8) %eax) + (write-int32-hex-buffered *(ebp+8) %eax) (write-buffered *(ebp+8) "/imm32\n") } $emit-cleanup-code-until-depth:continue: @@ -12606,7 +12606,7 @@ $emit-cleanup-code-until-target:reclaim-var-on-stack: # (emit-indent *(ebp+8) *Curr-block-depth) (write-buffered *(ebp+8) "81 0/subop/add %esp ") - (print-int32-buffered *(ebp+8) %eax) + (write-int32-hex-buffered *(ebp+8) %eax) (write-buffered *(ebp+8) "/imm32\n") } $emit-cleanup-code-until-target:continue: @@ -13144,11 +13144,11 @@ emit-subx-var-def: # out: (addr buffered-file), stmt: (addr stmt) 81 5/subop/subtract %edx 4/imm32 (emit-indent *(ebp+8) *Curr-block-depth) (write-buffered *(ebp+8) "(push-n-zero-bytes ") - (print-int32-buffered *(ebp+8) %edx) + (write-int32-hex-buffered *(ebp+8) %edx) (write-buffered *(ebp+8) ")\n") (emit-indent *(ebp+8) *Curr-block-depth) (write-buffered *(ebp+8) "68/push ") - (print-int32-buffered *(ebp+8) %edx) + (write-int32-hex-buffered *(ebp+8) %edx) (write-buffered *(ebp+8) "/imm32\n") eb/jump $emit-subx-var-def:end/disp8 } @@ -13319,7 +13319,7 @@ $translate-mu-length-stmt:complex: (write-buffered *(ebp+8) "31/xor %edx 2/r32/edx\n") (emit-indent *(ebp+8) *Curr-block-depth) (write-buffered *(ebp+8) "b9/copy-to-ecx ") - (print-int32-buffered *(ebp+8) %ecx) + (write-int32-hex-buffered *(ebp+8) %ecx) (write-buffered *(ebp+8) "/imm32\n") (emit-indent *(ebp+8) *Curr-block-depth) (write-buffered *(ebp+8) "f7 7/subop/idiv-eax-edx-by %ecx\n") @@ -13426,13 +13426,13 @@ $emit-save-size-to:emit-base-from-register: 74/jump-if-= break/disp8 $emit-save-size-to:emit-base-from-stack: (write-buffered *(ebp+8) "(ebp+") - (print-int32-buffered *(ebp+8) *(ebx+0x14)) # Var-offset + (write-int32-hex-buffered *(ebp+8) *(ebx+0x14)) # Var-offset (write-buffered *(ebp+8) ")") } $emit-save-size-to:emit-output: (write-buffered *(ebp+8) " ") (get Mu-registers *(ebp+0x10) 0xc "Mu-registers") # => eax - (print-int32-buffered *(ebp+8) *eax) + (write-int32-hex-buffered *(ebp+8) *eax) (write-buffered *(ebp+8) "/r32\n") $emit-save-size-to:end: # . restore registers @@ -13455,7 +13455,7 @@ emit-divide-by-shift-right: # out: (addr buffered-file), reg: (addr array byte) (write-buffered *(ebp+8) *(ebp+0xc)) (write-buffered *(ebp+8) Space) (num-shift-rights *(ebp+0x10)) # => eax - (print-int32-buffered *(ebp+8) %eax) + (write-int32-hex-buffered *(ebp+8) %eax) (write-buffered *(ebp+8) "/imm8\n") $emit-divide-by-shift-right:end: # . restore registers @@ -13563,7 +13563,7 @@ $translate-mu-index-stmt-with-array-in-register:emit-int-register-index: # TODO: ensure size is a power of 2 (array-element-size %ebx *(ebp+0x10) *(ebp+0x14)) # => eax (num-shift-rights %eax) # => eax - (print-int32-buffered *(ebp+8) %eax) + (write-int32-hex-buffered *(ebp+8) %eax) e9/jump $translate-mu-index-stmt-with-array-in-register:emit-register-index-done/disp32 } # if index->type is any other atom, abort @@ -13603,7 +13603,7 @@ $translate-mu-index-stmt-with-array-in-register:emit-literal-index: 05/add-to-eax 4/imm32 # TODO: check edx for overflow # print offset - (print-int32-buffered *(ebp+8) %eax) + (write-int32-hex-buffered *(ebp+8) %eax) (write-buffered *(ebp+8) ") ") e9/jump $translate-mu-index-stmt-with-array-in-register:emit-output/disp32 } @@ -13616,7 +13616,7 @@ $translate-mu-index-stmt-with-array-in-register:emit-output: (lookup *eax *(eax+4)) # Stmt-var-value Stmt-var-value => eax (lookup *(eax+0x18) *(eax+0x1c)) # Var-register Var-register => eax (get Mu-registers %eax 0xc "Mu-registers") # => eax: (addr int) - (print-int32-buffered *(ebp+8) *eax) + (write-int32-hex-buffered *(ebp+8) *eax) (write-buffered *(ebp+8) "/r32\n") $translate-mu-index-stmt-with-array-in-register:end: # . restore registers @@ -13674,13 +13674,13 @@ $translate-mu-index-stmt-with-array-on-stack:emit-int-register-index: # TODO: ensure size is a power of 2 (array-element-size %ecx *(ebp+0x10) *(ebp+0x14)) # => eax (num-shift-rights %eax) # => eax - (print-int32-buffered *(ebp+8) %eax) + (write-int32-hex-buffered *(ebp+8) %eax) # (write-buffered *(ebp+8) " + ") # 8b/-> *(ecx+0x14) 0/r32/eax # Var-offset 05/add-to-eax 4/imm32 # for array length - (print-int32-buffered *(ebp+8) %eax) + (write-int32-hex-buffered *(ebp+8) %eax) e9/jump $translate-mu-index-stmt-with-array-on-stack:emit-register-index-done/disp32 } # if index->type is any other atom, abort @@ -13722,7 +13722,7 @@ $translate-mu-index-stmt-with-array-on-stack:emit-literal-index: 05/add-to-eax 4/imm32 # TODO: check edx for overflow # print offset - (print-int32-buffered *(ebp+8) %eax) + (write-int32-hex-buffered *(ebp+8) %eax) (write-buffered *(ebp+8) ") ") e9/jump $translate-mu-index-stmt-with-array-on-stack:emit-output/disp32 } @@ -13735,7 +13735,7 @@ $translate-mu-index-stmt-with-array-on-stack:emit-output: (lookup *eax *(eax+4)) # Stmt-var-value Stmt-var-value => eax (lookup *(eax+0x18) *(eax+0x1c)) # Var-register Var-register => eax (get Mu-registers %eax 0xc "Mu-registers") # => eax: (addr int) - (print-int32-buffered *(ebp+8) *eax) + (write-int32-hex-buffered *(ebp+8) *eax) (write-buffered *(ebp+8) "/r32\n") $translate-mu-index-stmt-with-array-on-stack:end: # . restore registers @@ -13775,7 +13775,7 @@ $translate-mu-compute-index-stmt:emit-elem-size: 89/<- %ebx 0/r32/eax # print array-element-size(base) (array-element-size %ebx *(ebp+0x10) *(ebp+0x14)) # => eax - (print-int32-buffered *(ebp+8) %eax) + (write-int32-hex-buffered *(ebp+8) %eax) (write-buffered *(ebp+8) "/imm32 ") $translate-mu-compute-index-stmt:emit-output: # outputs[0] "/r32" @@ -13783,7 +13783,7 @@ $translate-mu-compute-index-stmt:emit-output: (lookup *eax *(eax+4)) # Stmt-var-value Stmt-var-value => eax (lookup *(eax+0x18) *(eax+0x1c)) # Var-register Var-register => eax (get Mu-registers %eax 0xc "Mu-registers") # => eax: (addr int) - (print-int32-buffered *(ebp+8) *eax) + (write-int32-hex-buffered *(ebp+8) *eax) (write-buffered *(ebp+8) "/r32\n") $translate-mu-compute-index-stmt:end: # . restore registers @@ -13825,7 +13825,7 @@ $translate-mu-get-stmt:emit-register-input: (lookup *(eax+0x18) *(eax+0x1c)) # Var-register Var-register => eax (write-buffered *(ebp+8) %eax) (write-buffered *(ebp+8) " + ") - (print-int32-buffered *(ebp+8) %edx) + (write-int32-hex-buffered *(ebp+8) %edx) (write-buffered *(ebp+8) ") ") e9/jump $translate-mu-get-stmt:emit-output/disp32 } @@ -13835,7 +13835,7 @@ $translate-mu-get-stmt:emit-stack-input: # emit "*(ebp + " inouts[0]->stack-offset + offset ") " (write-buffered *(ebp+8) "*(ebp+") 03/add *(eax+0x14) 2/r32/edx # Var-offset - (print-int32-buffered *(ebp+8) %edx) + (write-int32-hex-buffered *(ebp+8) %edx) (write-buffered *(ebp+8) ") ") eb/jump $translate-mu-get-stmt:emit-output/disp8 } @@ -13846,7 +13846,7 @@ $translate-mu-get-stmt:emit-output: # emit offset->register "/r32" (lookup *(eax+0x18) *(eax+0x1c)) # Var-register Var-register => eax (get Mu-registers %eax 0xc "Mu-registers") # => eax: (addr int) - (print-int32-buffered *(ebp+8) *eax) + (write-int32-hex-buffered *(ebp+8) *eax) (write-buffered *(ebp+8) "/r32\n") $translate-mu-get-stmt:end: # . restore registers @@ -13938,7 +13938,7 @@ $array-element-type-id:error1: (write-buffered *(ebp+0xc) %eax) 58/pop-to-eax (write-buffered *(ebp+0xc) "' has atomic type ") - (print-int32-buffered *(ebp+0xc) *(eax+4)) # Tree-value + (write-int32-hex-buffered *(ebp+0xc) *(eax+4)) # Tree-value (write-buffered *(ebp+0xc) Newline) (flush *(ebp+0xc)) (stop *(ebp+0x10) 1) @@ -14024,7 +14024,7 @@ mu-get-offset: # stmt: (addr stmt) -> result/eax: int # var output-var/eax: (addr var) = second-inout->value (lookup *eax *(eax+4)) # Stmt-var-value Stmt-var-value => eax #? (write-buffered Stderr "mu-get-offset: ") -#? (print-int32-buffered Stderr %eax) +#? (write-int32-hex-buffered Stderr %eax) #? (write-buffered Stderr " name: ") #? 50/push-eax #? (lookup *eax *(eax+4)) # Var-name @@ -14035,7 +14035,7 @@ mu-get-offset: # stmt: (addr stmt) -> result/eax: int # return output-var->stack-offset 8b/-> *(eax+0x14) 0/r32/eax # Var-offset #? (write-buffered Stderr "=> ") -#? (print-int32-buffered Stderr %eax) +#? (write-int32-hex-buffered Stderr %eax) #? (write-buffered Stderr Newline) #? (flush Stderr) $emit-get-offset:end: @@ -17190,7 +17190,7 @@ $get-stmt-operand-from-arg-location:end: $get-stmt-operand-from-arg-location:abort: # error("invalid arg-location " eax) (write-buffered *(ebp+0x10) "invalid arg-location ") - (print-int32-buffered *(ebp+0x10) %eax) + (write-int32-hex-buffered *(ebp+0x10) %eax) (write-buffered *(ebp+0x10) Newline) (flush *(ebp+0x10)) (stop *(ebp+0x14) 1) @@ -17212,7 +17212,7 @@ emit-subx-r32: # out: (addr buffered-file), l: arg-location, stmt: (addr stmt) (lookup *(eax+0x18) *(eax+0x1c)) # Var-register Var-register => eax (maybe-get Mu-registers %eax 0xc) # => eax: (addr register-index) (write-buffered *(ebp+8) Space) - (print-int32-buffered *(ebp+8) *eax) + (write-int32-hex-buffered *(ebp+8) *eax) (write-buffered *(ebp+8) "/r32") $emit-subx-r32:end: # . restore registers @@ -17426,7 +17426,7 @@ $emit-subx-call-operand-register-indirect:loop: (write-buffered *(ebp+8) " *(") (write-buffered *(ebp+8) %esi) (write-buffered *(ebp+8) "+") - (print-int32-buffered *(ebp+8) %eax) + (write-int32-hex-buffered *(ebp+8) %eax) (write-buffered *(ebp+8) ")") # i += 4 05/add-to-eax 4/imm32 @@ -17466,7 +17466,7 @@ $emit-subx-call-operand-stack:loop: 7d/jump-if->= break/disp8 # emit " *(ebp+" curr ")" (write-buffered *(ebp+8) " *(ebp+") - (print-int32-buffered *(ebp+8) %ecx) + (write-int32-hex-buffered *(ebp+8) %ecx) (write-buffered *(ebp+8) ")") # i += 4 81 0/subop/add %ecx 4/imm32 @@ -17529,7 +17529,7 @@ $emit-subx-var-as-rm32:register-direct: $emit-subx-var-as-rm32:stack: (write-buffered *(ebp+8) Space) (write-buffered *(ebp+8) "*(ebp+") - (print-int32-buffered *(ebp+8) *(esi+0x14)) # Var-offset + (write-int32-hex-buffered *(ebp+8) *(esi+0x14)) # Var-offset (write-buffered *(ebp+8) ")") } $emit-subx-var-as-rm32:end: diff --git a/apps/pack b/apps/pack index 4ff31f99..01e54834 100755 Binary files a/apps/pack and b/apps/pack differ diff --git a/apps/random.subx b/apps/random.subx index 3cc1caa2..d73b4876 100644 --- a/apps/random.subx +++ b/apps/random.subx @@ -26,12 +26,12 @@ $loop: ba/copy-to-edx 4/imm32/size e8/call syscall_read/disp32 - # print-int32-buffered(Stdout, *N) + # write-int32-hex-buffered(Stdout, *N) # . . push args ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . N/disp32 # push *N 68/push Stdout/imm32 # . . call - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # write-buffered(Stdout, Newline) # . . push args diff --git a/apps/sigils b/apps/sigils index 798ede8b..540e7081 100755 Binary files a/apps/sigils and b/apps/sigils differ diff --git a/apps/sigils.subx b/apps/sigils.subx index 7c9ec805..74ec48b9 100644 --- a/apps/sigils.subx +++ b/apps/sigils.subx @@ -1423,12 +1423,12 @@ emit-direct-mode: # out: (addr buffered-file), word-slice: (addr slice) e8/call write-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp - # print-int32-buffered(out, *reg-num) + # write-int32-hex-buffered(out, *reg-num) # . . push args ff 6/subop/push 0/mod/indirect 0/rm32/eax . . . . . . # push *eax ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 . # push *(ebp+8) # . . call - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # write-buffered(out, "/rm32") @@ -2542,12 +2542,12 @@ $parse-effective-address:error1: e8/call write-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp - # . print-int32-buffered(out, eax) + # . write-int32-hex-buffered(out, eax) # . . push args 50/push-eax 68/push Stderr/imm32 # . . call - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # . write-buffered(Stderr, "\n") @@ -2580,12 +2580,12 @@ $parse-effective-address:error2: e8/call write-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp - # . print-int32-buffered(out, eax) + # . write-int32-hex-buffered(out, eax) # . . push args 50/push-eax 68/push Stderr/imm32 # . . call - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # . write-buffered(Stderr, "\n") @@ -2618,12 +2618,12 @@ $parse-effective-address:error3: e8/call write-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp - # . print-int32-buffered(out, eax) + # . write-int32-hex-buffered(out, eax) # . . push args 50/push-eax 68/push Stderr/imm32 # . . call - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # . write-buffered(Stderr, "\n") @@ -2656,12 +2656,12 @@ $parse-effective-address:error4: e8/call write-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp - # . print-int32-buffered(out, eax) + # . write-int32-hex-buffered(out, eax) # . . push args 50/push-eax 68/push Stderr/imm32 # . . call - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # . write-buffered(Stderr, "; expected ')' to wrap up\n") @@ -3191,12 +3191,12 @@ $emit-indirect-mode:emit-sib: e8/call write-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp - # . print-int32-buffered(out, base) + # . write-int32-hex-buffered(out, base) # . . push args ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 . # push *(ebp+8) # . . call - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # . write-buffered(out, "/base ") @@ -3207,12 +3207,12 @@ $emit-indirect-mode:emit-sib: e8/call write-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp - # . print-int32-buffered(out, index) + # . write-int32-hex-buffered(out, index) # . . push args ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x10/disp8 . # push *(ebp+16) ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 . # push *(ebp+8) # . . call - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # . write-buffered(out, "/index ") @@ -3223,12 +3223,12 @@ $emit-indirect-mode:emit-sib: e8/call write-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp - # . print-int32-buffered(out, scale) + # . write-int32-hex-buffered(out, scale) # . . push args ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x14/disp8 . # push *(ebp+20) ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 . # push *(ebp+8) # . . call - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # . write-buffered(out, "/scale ") @@ -3239,12 +3239,12 @@ $emit-indirect-mode:emit-sib: e8/call write-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp - # . print-int32-buffered(out, disp) + # . write-int32-hex-buffered(out, disp) # . . push args ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x18/disp8 . # push *(ebp+24) ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 . # push *(ebp+8) # . . call - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # . write-buffered(out, "/disp32") @@ -3270,12 +3270,12 @@ $emit-indirect-mode:emit-disp: e8/call write-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp - # . print-int32-buffered(out, base) + # . write-int32-hex-buffered(out, base) # . . push args ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 . # push *(ebp+8) # . . call - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # . write-buffered(out, "/rm32 ") @@ -3286,12 +3286,12 @@ $emit-indirect-mode:emit-disp: e8/call write-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp - # . print-int32-buffered(out, disp) + # . write-int32-hex-buffered(out, disp) # . . push args ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0x18/disp8 . # push *(ebp+24) ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 . # push *(ebp+8) # . . call - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # . write-buffered(out, "/disp32") @@ -3313,12 +3313,12 @@ $emit-indirect-mode:emit-indirect: e8/call write-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp - # . print-int32-buffered(out, base) + # . write-int32-hex-buffered(out, base) # . . push args ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 0xc/disp8 . # push *(ebp+12) ff 6/subop/push 1/mod/*+disp8 5/rm32/ebp . . . . 8/disp8 . # push *(ebp+8) # . . call - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # . write-buffered(out, "/rm32") @@ -4128,12 +4128,12 @@ $next-hex-int:abort: 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp # . . restore eax 58/pop-to-eax - # . print-int32-buffered(Stderr, eax) + # . write-int32-hex-buffered(Stderr, eax) # . . push args 50/push-eax 68/push Stderr/imm32 # . . call - e8/call print-int32-buffered/disp32 + e8/call write-int32-hex-buffered/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # . flush(Stderr) diff --git a/apps/survey b/apps/survey index 1aa149e5..293afa0c 100755 Binary files a/apps/survey and b/apps/survey differ diff --git a/apps/survey.subx b/apps/survey.subx index 6ed94c5e..d9ae3257 100644 --- a/apps/survey.subx +++ b/apps/survey.subx @@ -822,13 +822,13 @@ $compute-offsets:case-default: #? e8/call clear-stream/disp32 #? # . . discard args #? 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp -#? # . print-int32-buffered(Stderr, segment-offset) +#? # . write-int32-hex-buffered(Stderr, segment-offset) #? # . . push args #? 52/push-edx #? ff 6/subop/push 0/mod/indirect 5/rm32/.disp32 . . . compute-offsets:segment-offset/disp32 # push *segment-offset #? 68/push Stderr/imm32 #? # . . call -#? e8/call print-int32-buffered/disp32 +#? e8/call write-int32-hex-buffered/disp32 #? # . . discard args #? 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp #? # . flush(Stderr) @@ -2232,12 +2232,12 @@ $emit-segments:check-code-label-for-imm32: #? e8/call write/disp32 #? # . . discard args #? 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp -#? # . print-int32-buffered(Stderr, info->address) +#? # . write-int32-hex-buffered(Stderr, info->address) #? # . . push args #? ff 6/subop/push 1/mod/*+disp8 6/rm32/esi . . . . 0xc/disp8 . # push *(esi+12) #? 68/push Stderr/imm32 #? # . . call -#? e8/call print-int32-buffered/disp32 +#? e8/call write-int32-hex-buffered/disp32 #? # . . discard args #? 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp #? # . flush(Stderr) @@ -3093,12 +3093,12 @@ $emit-headers:loop: #? e8/call clear-stream/disp32 #? # . . discard args #? 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp -#? # . print-int32-buffered(Stderr, &curr-segment) +#? # . write-int32-hex-buffered(Stderr, &curr-segment) #? # . . push args #? 50/push-eax #? 68/push Stderr/imm32 #? # . . call -#? e8/call print-int32-buffered/disp32 +#? e8/call write-int32-hex-buffered/disp32 #? # . . discard args #? 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp #? # . flush(Stderr) @@ -3116,12 +3116,12 @@ $emit-headers:loop: #? e8/call write/disp32 #? # . . discard args #? 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp -#? # . print-int32-buffered(Stderr, curr-segment->name) +#? # . write-int32-hex-buffered(Stderr, curr-segment->name) #? # . . push args #? ff 6/subop/push 0/mod/indirect 0/rm32/eax . . . . . . # push *eax #? 68/push Stderr/imm32 #? # . . call -#? e8/call print-int32-buffered/disp32 +#? e8/call write-int32-hex-buffered/disp32 #? # . . discard args #? 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp #? # . flush(Stderr) diff --git a/apps/tests b/apps/tests index 9db94934..ac8d193f 100755 Binary files a/apps/tests and b/apps/tests differ -- cgit 1.4.1-2-gfad0