diff options
author | Kartik Agaram <vc@akkartik.com> | 2019-10-15 19:35:19 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2019-10-15 19:35:19 -0700 |
commit | 7a5832204a80ff43d23c3a384c26e2217ef5908b (patch) | |
tree | 5d3dce95369bf30b84735afd6e21bf1a43db16b7 /059stop.subx | |
parent | 6a51218e12ce75e51301b834e1c48e86aefedc1e (diff) | |
download | mu-7a5832204a80ff43d23c3a384c26e2217ef5908b.tar.gz |
5698
Thanks Andrew Owen for reporting this typo.
Diffstat (limited to '059stop.subx')
-rw-r--r-- | 059stop.subx | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/059stop.subx b/059stop.subx index 03c8c4ca..c099d66f 100644 --- a/059stop.subx +++ b/059stop.subx @@ -42,7 +42,7 @@ # Ugly that we need to know the size of args. Don't allocate variables between # tailor-exit-descriptor and the call it's for. tailor-exit-descriptor: # ed : (address exit-descriptor), nbytes : int -> <void> - # . prolog + # . prologue 55/push-ebp 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp # . save registers @@ -84,13 +84,13 @@ $tailor-exit-descriptor:end: # . restore registers 59/pop-to-ecx 58/pop-to-eax - # . epilog + # . epilogue 89/copy 3/mod/direct 4/rm32/esp . . . 5/r32/ebp . . # copy ebp to esp 5d/pop-to-ebp c3/return stop: # ed : (address exit-descriptor), value : int - # no prolog; one way or another, we're going to clobber registers + # no prologue; one way or another, we're going to clobber registers # eax = ed 8b/copy 1/mod/*+disp8 4/rm32/sib 4/base/esp 4/index/none . 0/r32/eax 4/disp8 . # copy *(esp+4) to eax # if (ed->target == 0) really exit @@ -112,7 +112,7 @@ $stop:end: c3/return # doesn't return to caller test-stop-skips-returns-on-exit: - # This looks like the standard prolog, but is here for different reasons. + # This looks like the standard prologue, but is here for different reasons. # A function calling 'stop' can't rely on ebp persisting past the call. # # Use ebp here as a stable base to refer to locals and arguments from in the @@ -155,14 +155,14 @@ test-stop-skips-returns-on-exit: e8/call check-ints-equal/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0xc/imm32 # add to esp - # . epilog + # . epilogue # don't restore esp from ebp; manually reclaim locals 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 8/imm32 # add to esp 5d/pop-to-ebp c3/return _test-stop-1: # ed : (address exit-descriptor) - # . prolog + # . prologue 55/push-ebp 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp # _test-stop-2(ed) @@ -183,13 +183,13 @@ $_test-stop-1:dead-end: e8/call check-ints-equal/disp32 # . . discard args 81 0/subop/add 3/mod/direct 4/rm32/esp . . . . . 0xc/imm32 # add to esp - # . epilog + # . epilogue 89/copy 3/mod/direct 4/rm32/esp . . . 5/r32/ebp . . # copy ebp to esp 5d/pop-to-ebp c3/return _test-stop-2: # ed : (address exit-descriptor) - # . prolog + # . prologue 55/push-ebp 89/copy 3/mod/direct 5/rm32/ebp . . . 4/r32/esp . . # copy esp to ebp # . stop(ed, 1) @@ -200,7 +200,7 @@ _test-stop-2: # ed : (address exit-descriptor) e8/call stop/disp32 # should never get past this point $_test-stop-2:dead-end: - # . epilog + # . epilogue 89/copy 3/mod/direct 4/rm32/esp . . . 5/r32/ebp . . # copy ebp to esp 5d/pop-to-ebp c3/return |