diff options
author | Kartik Agaram <vc@akkartik.com> | 2018-09-22 23:19:39 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2018-09-22 23:19:39 -0700 |
commit | 7d4e351a0d1e3c4e71b58d3218b4e6b833f542f2 (patch) | |
tree | 8f8b8e62848b76ce5debf3ef89ad6f0e1c381de8 /subx/examples/ex8.subx | |
parent | 2b36eee9b13eb16fb2e4b05d7e26f6d09f431912 (diff) | |
download | mu-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.subx | 6 |
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 |