From 9c4cd6db4a42847f8d879fa35e66f2a3c85ee418 Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Sat, 13 Mar 2021 23:22:28 -0800 Subject: [PATCH] some cleanup in a translation phase --- linux/survey_baremetal | Bin 51141 -> 51018 bytes linux/survey_baremetal.subx | 33 +++++++++------------------------ linux/survey_elf | Bin 56426 -> 56434 bytes linux/survey_elf.subx | 28 ++++++++++++++++++++++------ 4 files changed, 31 insertions(+), 30 deletions(-) diff --git a/linux/survey_baremetal b/linux/survey_baremetal index 4467b67a8f1807f3360d007824f2cd3cbe959cc5..3041683d437c028ef8df4bb2abd6da365361a9e8 100755 GIT binary patch delta 17277 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

BMGO|2*ipxa&}mN0gj0Ch6JSd0V< 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 z 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 XFWBwrite == 0) break 8b/copy 0/mod/indirect 1/rm32/ecx . . . 0/r32/eax . . # copy *ecx to eax @@ -543,15 +547,19 @@ $compute-offsets:line-loop: #? # }}} $compute-offsets:word-loop: # next-word(line, word-slice) + # . . push args 52/push-edx 51/push-ecx + # . . call e8/call next-word/disp32 - # . discard args + # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp $compute-offsets:case-empty: # if slice-empty?(word-slice) break # . eax = slice-empty?(word-slice) + # . . push args 52/push-edx + # . . call e8/call slice-empty?/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 4/imm32 # add to esp @@ -560,8 +568,10 @@ $compute-offsets:case-empty: 0f 85/jump-if-!= $compute-offsets:line-loop/disp32 $compute-offsets:case-comment: # if slice-starts-with?(word-slice, "#") continue + # . . push args 68/push "#"/imm32 52/push-edx + # . . call e8/call slice-starts-with?/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp @@ -571,8 +581,10 @@ $compute-offsets:case-comment: $compute-offsets:case-segment-header: # if (!slice-equal?(word-slice, "==")) goto next case # . eax = slice-equal?(word-slice, "==") + # . . push args 68/push "=="/imm32 52/push-edx + # . . call e8/call slice-equal?/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp @@ -630,10 +642,12 @@ $compute-offsets:case-segment-header: 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0x14/imm32 # add to esp $compute-offsets:construct-next-segment: # next-word(line, segment-tmp) + # . . push args 68/push compute-offsets:segment-tmp/imm32 51/push-ecx + # . . call e8/call next-word/disp32 - # . discard args + # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # if slice-empty?(segment-tmp) abort # . eax = slice-empty?(segment-tmp) @@ -657,10 +671,12 @@ $compute-offsets:update-curr-segment-name: # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0xc/imm32 # add to esp # next-word(line, segment-tmp) + # . . push args 68/push compute-offsets:segment-tmp/imm32 51/push-ecx + # . . call e8/call next-word/disp32 - # . discard args + # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp # if slice-empty?(segment-tmp) abort # . eax = slice-empty?(segment-tmp) @@ -913,7 +929,7 @@ $compute-offsets:end: $compute-offsets:abort: # . _write(2/stderr, error) # . . push args - 68/push "'==' must be followed by segment name and segment-start\n"/imm32 + 68/push "'==' must be followed by segment name and optionally an address\n"/imm32 68/push 2/imm32/stderr # . . call e8/call _write/disp32