about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2019-07-01 23:24:45 -0700
committerKartik Agaram <vc@akkartik.com>2019-07-01 23:24:45 -0700
commit0e510776d37c09ea01a6b44cf4ff18b23a6f2810 (patch)
treee1a87afe2bbc49f2624ef115bd49ccaaca8eefa5
parent065b82af2ee09240f42527138c171ce4e5cbd0fb (diff)
downloadmu-0e510776d37c09ea01a6b44cf4ff18b23a6f2810.tar.gz
.
-rwxr-xr-xsubx/apps/surveybin29786 -> 30047 bytes
-rw-r--r--subx/apps/survey.subx24
2 files changed, 24 insertions, 0 deletions
diff --git a/subx/apps/survey b/subx/apps/survey
index aa0048ca..12b95f76 100755
--- a/subx/apps/survey
+++ b/subx/apps/survey
Binary files differdiff --git a/subx/apps/survey.subx b/subx/apps/survey.subx
index f4fcc5a1..eeb6cf82 100644
--- a/subx/apps/survey.subx
+++ b/subx/apps/survey.subx
@@ -793,6 +793,14 @@ test-compute-addresses:
     # . . discard args
     81          0/subop/add         3/mod/direct    4/rm32/ESP    .           .             .           .           .               0x14/imm32        # add to ESP
     # component under test
+    # . compute-addresses(segments, labels)
+    # . . push args
+    52/push-EDX
+    51/push-ECX
+    # . . call
+    e8/call  compute-addresses/disp32
+    # . . discard args
+    81          0/subop/add         3/mod/direct    4/rm32/ESP    .           .             .           .           .               8/imm32           # add to ESP
     # checks
     # . check-trace-contains("segment 'a' starts at address 0x1074", msg)
     # . . push args
@@ -971,6 +979,10 @@ test-trace-sssns:
     # . prolog
     55/push-EBP
     89/copy                         3/mod/direct    5/rm32/EBP    .           .             .           4/r32/ESP   .               .                 # copy ESP to EBP
+    # setup
+    # . *Trace-stream->write = 0
+    8b/copy                         0/mod/indirect  5/rm32/.disp32            .             .           0/r32/EAX   Trace-stream/disp32               # copy *Trace-stream to EAX
+    c7          0/subop/copy        0/mod/direct    0/rm32/EAX    .           .             .           .           .               0/imm32           # clear *EAX
     # trace-sssns("A" "b" "c " 3 " e")
     # . . push args
     68/push  " e"/imm32
@@ -1074,6 +1086,10 @@ test-trace-snsns:
     # . prolog
     55/push-EBP
     89/copy                         3/mod/direct    5/rm32/EBP    .           .             .           4/r32/ESP   .               .                 # copy ESP to EBP
+    # setup
+    # . *Trace-stream->write = 0
+    8b/copy                         0/mod/indirect  5/rm32/.disp32            .             .           0/r32/EAX   Trace-stream/disp32               # copy *Trace-stream to EAX
+    c7          0/subop/copy        0/mod/direct    0/rm32/EAX    .           .             .           .           .               0/imm32           # clear *EAX
     # trace-snsns("A " 2 " c " 3 " e")
     # . . push args
     68/push  " e"/imm32
@@ -1177,6 +1193,10 @@ test-trace-slsls:
     # . prolog
     55/push-EBP
     89/copy                         3/mod/direct    5/rm32/EBP    .           .             .           4/r32/ESP   .               .                 # copy ESP to EBP
+    # setup
+    # . *Trace-stream->write = 0
+    8b/copy                         0/mod/indirect  5/rm32/.disp32            .             .           0/r32/EAX   Trace-stream/disp32               # copy *Trace-stream to EAX
+    c7          0/subop/copy        0/mod/direct    0/rm32/EAX    .           .             .           .           .               0/imm32           # clear *EAX
     # (EAX..ECX) = "b"
     b8/copy-to-EAX  "b"/imm32
     8b/copy                         0/mod/indirect  0/rm32/EAX    .           .             .           1/r32/ECX   .               .                 # copy *EAX to ECX
@@ -1298,6 +1318,10 @@ test-trace-slsns:
     # . prolog
     55/push-EBP
     89/copy                         3/mod/direct    5/rm32/EBP    .           .             .           4/r32/ESP   .               .                 # copy ESP to EBP
+    # setup
+    # . *Trace-stream->write = 0
+    8b/copy                         0/mod/indirect  5/rm32/.disp32            .             .           0/r32/EAX   Trace-stream/disp32               # copy *Trace-stream to EAX
+    c7          0/subop/copy        0/mod/direct    0/rm32/EAX    .           .             .           .           .               0/imm32           # clear *EAX
     # (EAX..ECX) = "b"
     b8/copy-to-EAX  "b"/imm32
     8b/copy                         0/mod/indirect  0/rm32/EAX    .           .             .           1/r32/ECX   .               .                 # copy *EAX to ECX