about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-04-06 15:10:26 -0700
committerKartik Agaram <vc@akkartik.com>2020-04-06 15:11:07 -0700
commit8b7e1ee2d729b106bbd6e867c948254e6e3043ac (patch)
treec74b83bbd9f300b69f7777d3f44b509e8a9a59d5
parentd3f11c2df9ee62c2fc7175e00061f1c7ddab7efd (diff)
downloadmu-8b7e1ee2d729b106bbd6e867c948254e6e3043ac.tar.gz
6195
This bug was never caught because we've never tested with more than 2 segments.
-rwxr-xr-xapps/surveybin49859 -> 49861 bytes
-rw-r--r--apps/survey.subx2
2 files changed, 1 insertions, 1 deletions
diff --git a/apps/survey b/apps/survey
index cc3a5192..b54f0472 100755
--- a/apps/survey
+++ b/apps/survey
Binary files differdiff --git a/apps/survey.subx b/apps/survey.subx
index 817645ab..99eb54df 100644
--- a/apps/survey.subx
+++ b/apps/survey.subx
@@ -1445,7 +1445,7 @@ compute-addresses:  # segments: (addr stream {string, segment-info}), labels: (a
     8d/copy-address                 1/mod/*+disp8   6/rm32/esi    .           .             .           0/r32/eax   0xc/disp8       .                 # copy esi+12 to eax
     # max/ecx = &segments->data[segments->write]
     8b/copy                         0/mod/indirect  6/rm32/esi    .           .             .           1/r32/ecx   .               .                 # copy *esi to ecx
-    01/add                          3/mod/direct    1/rm32/ecx    .           .             .           6/r32/esi   .               .                 # add esi to ecx
+    8d/copy-address                 1/mod/*+disp8   4/rm32/sib    6/base/esi  1/index/ecx   .           1/r32/ecx   0xc/disp8       .                 # copy esi+ecx+12 to ecx
 $compute-addresses:segment-loop:
     # if (srow >= max) break
     39/compare                      3/mod/direct    0/rm32/eax    .           .             .           1/r32/ecx   .               .                 # compare eax with ecx