diff options
author | Kartik Agaram <vc@akkartik.com> | 2018-09-22 10:33:41 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2018-09-22 10:33:41 -0700 |
commit | 8c580ba1de3a6587c6c8e21387a518c93399e538 (patch) | |
tree | f520a06fc02b20f7a1df5c8f862ff09c460a5da5 /subx/examples | |
parent | 25d381c7d4b35f5e450d1bab57efac9270fca58f (diff) | |
download | mu-8c580ba1de3a6587c6c8e21387a518c93399e538.tar.gz |
4591
Diffstat (limited to 'subx/examples')
-rw-r--r-- | subx/examples/ex10.subx | 4 | ||||
-rw-r--r-- | subx/examples/ex5.subx | 2 | ||||
-rw-r--r-- | subx/examples/ex8.subx | 6 | ||||
-rw-r--r-- | subx/examples/ex9.subx | 4 |
4 files changed, 8 insertions, 8 deletions
diff --git a/subx/examples/ex10.subx b/subx/examples/ex10.subx index 97dd42eb..81f4f2ae 100644 --- a/subx/examples/ex10.subx +++ b/subx/examples/ex10.subx @@ -24,8 +24,8 @@ 8b/copy 1/mod/*+disp8 4/rm32/sib 4/base/ESP 4/index/none . 3/r32/EBX 0xc/disp8 . # copy *(ESP+12) to EBX # call argv_equal(s1, s2) # push args - 50/push . . . . . . . . # push EAX - 53/push . . . . . . . . # push EBX + 50/push-EAX + 53/push-EBX # call e8/call argv_equal/disp32 # exit(EAX) diff --git a/subx/examples/ex5.subx b/subx/examples/ex5.subx index 4502a4bd..faecdcfb 100644 --- a/subx/examples/ex5.subx +++ b/subx/examples/ex5.subx @@ -11,7 +11,7 @@ # main: # prolog - 55/push . . . . . . . . # push EBP + 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 diff --git a/subx/examples/ex8.subx b/subx/examples/ex8.subx index 8233c4f3..8d9efcd7 100644 --- a/subx/examples/ex8.subx +++ b/subx/examples/ex8.subx @@ -22,17 +22,17 @@ 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 . . . . . . . . # push EBP + 55/push-EBP 89/copy 3/mod/direct 5/rm32/EBP . . . 4/r32/ESP . . # copy ESP to EBP # push args - 53/push . . . . . . . . # push EBX + 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 . . . . . . . . # pop to EBP + 5d/pop-to-EBP # exit(EAX) 89/copy 3/mod/direct 3/rm32/EBX . . . 0/r32/EAX . . # copy EAX to EBX diff --git a/subx/examples/ex9.subx b/subx/examples/ex9.subx index da98b03b..dde9fa37 100644 --- a/subx/examples/ex9.subx +++ b/subx/examples/ex9.subx @@ -26,8 +26,8 @@ 8b/copy 1/mod/*+disp8 4/rm32/sib 4/base/ESP 4/index/none 3/r32/EBX 0xc/disp8 . # copy *(ESP+12) to EBX # call string_equal(s1, s2) # push args - 50/push . . . . . . . . # push EAX - 53/push . . . . . . . . # push EBX + 50/push-EAX + 53/push-EBX # call e8/call ascii_difference/disp32 # discard args |