about summary refs log tree commit diff stats
path: root/subx/examples/ex8.subx
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2018-09-22 23:19:39 -0700
committerKartik Agaram <vc@akkartik.com>2018-09-22 23:19:39 -0700
commit7d4e351a0d1e3c4e71b58d3218b4e6b833f542f2 (patch)
tree8f8b8e62848b76ce5debf3ef89ad6f0e1c381de8 /subx/examples/ex8.subx
parent2b36eee9b13eb16fb2e4b05d7e26f6d09f431912 (diff)
downloadmu-7d4e351a0d1e3c4e71b58d3218b4e6b833f542f2.tar.gz
4503
Include LEA (load effective address) in the SubX subset of x86 ISA.
Diffstat (limited to 'subx/examples/ex8.subx')
-rw-r--r--subx/examples/ex8.subx6
1 files changed, 0 insertions, 6 deletions
diff --git a/subx/examples/ex8.subx b/subx/examples/ex8.subx
index 8d9efcd7..fb35dc7e 100644
--- a/subx/examples/ex8.subx
+++ b/subx/examples/ex8.subx
@@ -21,18 +21,12 @@
   # var s = argv[1] (EBX)
   8b/copy                         1/mod/*+disp8   4/rm32/sib    4/base/ESP  4/index/none              3/r32/EBX   8/disp8         .                       # copy *(ESP+8) to EBX
   # call ascii_length(EBX)
-    # prepare call
-  55/push-EBP
-  89/copy                         3/mod/direct    5/rm32/EBP    .           .             .           4/r32/ESP   .               .                       # copy ESP to EBP
     # push args
   53/push-EBX
     # call
   e8/call  ascii_length/disp32
     # discard args
   81          0/subop/add         3/mod/direct    4/rm32/ESP    .           .             .           .           .               4/imm32                 # add 4 to ESP
-    # clean up after call
-  89/copy                         3/mod/direct    4/rm32/ESP    .           .             .           5/r32/EBP   .               .                       # copy EBP to ESP
-  5d/pop-to-EBP
 
   # exit(EAX)
   89/copy                         3/mod/direct    3/rm32/EBX    .           .             .           0/r32/EAX   .               .                       # copy EAX to EBX