about summary refs log tree commit diff stats
path: root/subx/examples/ex5.subx
diff options
context:
space:
mode:
Diffstat (limited to 'subx/examples/ex5.subx')
-rw-r--r--subx/examples/ex5.subx7
1 files changed, 2 insertions, 5 deletions
diff --git a/subx/examples/ex5.subx b/subx/examples/ex5.subx
index faecdcfb..51bc19a0 100644
--- a/subx/examples/ex5.subx
+++ b/subx/examples/ex5.subx
@@ -10,9 +10,6 @@
 # 1-3 bytes   3 bits              2 bits          3 bits        3 bits      3 bits        2 bits      2 bits      0/1/2/4 bytes   0/1/2/4 bytes
 
 # main:
-  # prolog
-  55/push-EBP
-  89/copy                         3/mod/direct    5/rm32/EBP    .           .             .           4/r32/ESP   .               .                 # copy ESP to EBP
   # allocate x on the stack
   81          5/subop/subtract    3/mod/direct    4/rm32/ESP    .           .             .           .           .               4/imm32           # subtract 4 bytes from ESP
 
@@ -20,7 +17,7 @@
     # fd = 0 (stdin)
   bb/copy                         .               .             .           .             .           .           .               0/imm32           # copy 0 to EBX
     # initialize x (location to write result to)
-  89/copy                         3/mod/direct    1/rm32/ECX    .           .             .           5/r32/EBP   .               .                 # copy EBP to ECX
+  8d/copy-address                 1/mod/*+disp8   4/rm32/sib    4/base/ESP  4/index/none              1/r32/ECX   4/disp8         .                 # copy ESP+4 to ECX
     # size = 1 character
   ba/copy                         .               .             .           .             .           .           .               1/imm32           # copy 1 to EDX
     # read(fd, x, size)
@@ -31,7 +28,7 @@
     # fd = 1 (stdout)
   bb/copy                         .               .             .           .             .           .           .               1/imm32           # copy 1 to EBX
     # initialize x (location to read from)
-  89/copy                         3/mod/direct    1/rm32/ECX    .           .             .           5/r32/EBP   .               .                 # copy EBP to ECX
+  8d/copy-address                 1/mod/*+disp8   4/rm32/sib    4/base/ESP  4/index/none              1/r32/ECX   4/disp8         .                 # copy ESP+4 to ECX
     # size = 1 character
   ba/copy                         .               .             .           .             .           .           .               1/imm32           # copy 1 to EDX
     # write(fd, x, size)