diff options
author | Kartik Agaram <vc@akkartik.com> | 2018-10-02 20:58:39 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2018-10-02 20:58:39 -0700 |
commit | d383ba76348117ed74e077b7cf0467851c19a0ac (patch) | |
tree | aa0fecf1e588d6509122bfcd884b64884eadfadd | |
parent | 34c84469c23a5a0acf6f26c2c163a506d013d7ac (diff) | |
download | mu-d383ba76348117ed74e077b7cf0467851c19a0ac.tar.gz |
4655
-rw-r--r-- | subx/050write_stderr.subx | 4 | ||||
-rw-r--r-- | subx/053new_segment.subx | 2 | ||||
-rw-r--r-- | subx/apps/crenshaw2-1.subx | 4 | ||||
-rw-r--r-- | subx/apps/factorial.subx | 2 | ||||
-rw-r--r-- | subx/examples/ex11.subx | 4 |
5 files changed, 8 insertions, 8 deletions
diff --git a/subx/050write_stderr.subx b/subx/050write_stderr.subx index 575fbd77..eae9129c 100644 --- a/subx/050write_stderr.subx +++ b/subx/050write_stderr.subx @@ -17,10 +17,10 @@ write_stderr: # s : (address array byte) -> <void> # fd = 2 (stderr) bb/copy . . . . . . . 2/imm32 # copy to EBX # x = s+4 - 8b/copy 1/mod/*+disp8 4/rm32/SIB 5/base/EBP 4/index/none . 1/r32/ECX 8/disp8 . # copy *(EBP+8) to ECX + 8b/copy 1/mod/*+disp8 4/rm32/sib 5/base/EBP 4/index/none . 1/r32/ECX 8/disp8 . # copy *(EBP+8) to ECX 81 0/subop/add 3/mod/direct 1/rm32/ECX . . . . . 4/imm32 # add to ECX # size = *s - 8b/copy 1/mod/*+disp8 4/rm32/SIB 5/base/EBP 4/index/none . 2/r32/EDX 8/disp8 . # copy *(EBP+8) to EDX + 8b/copy 1/mod/*+disp8 4/rm32/sib 5/base/EBP 4/index/none . 2/r32/EDX 8/disp8 . # copy *(EBP+8) to EDX 8b/copy 0/mod/indirect 2/rm32/EDX . . . 2/r32/EDX . . # copy *EDX to EDX # call write() b8/copy . . . . . . . 4/imm32/write # copy to EAX diff --git a/subx/053new_segment.subx b/subx/053new_segment.subx index 33522517..cd1f865c 100644 --- a/subx/053new_segment.subx +++ b/subx/053new_segment.subx @@ -30,7 +30,7 @@ new_segment: # len : int -> address 53/push-EBX # copy len to mmap_new_segment.len # TODO: compute mmap_new_segment+4 before runtime - 8b/copy 1/mod/*+disp8 4/rm32/SIB 5/base/EBP 4/index/none . 0/r32/EAX 8/disp8 . # copy *(EBP+8) to EAX + 8b/copy 1/mod/*+disp8 4/rm32/sib 5/base/EBP 4/index/none . 0/r32/EAX 8/disp8 . # copy *(EBP+8) to EAX bb/copy . . . . . . . mmap_new_segment/imm32 # copy to EBX 89/copy 1/mod/*+disp8 3/rm32/EBX . . . 0/r32/EAX 4/disp8 . # copy EAX to *(EBX+4) # mmap(mmap_new_segment) diff --git a/subx/apps/crenshaw2-1.subx b/subx/apps/crenshaw2-1.subx index dec4023a..7f240819 100644 --- a/subx/apps/crenshaw2-1.subx +++ b/subx/apps/crenshaw2-1.subx @@ -94,10 +94,10 @@ write_stdout: # s : (address array byte) -> <void> # fd = 1 (stdout) bb/copy . . . . . . . 1/imm32 # copy to EBX # x = s+4 - 8b/copy 1/mod/*+disp8 4/rm32/SIB 5/base/EBP 4/index/none . 1/r32/ECX 8/disp8 . # copy *(EBP+8) to ECX + 8b/copy 1/mod/*+disp8 4/rm32/sib 5/base/EBP 4/index/none . 1/r32/ECX 8/disp8 . # copy *(EBP+8) to ECX 81 0/subop/add 3/mod/direct 1/rm32/ECX . . . . . 4/imm32 # add to ECX # size = *s - 8b/copy 1/mod/*+disp8 4/rm32/SIB 5/base/EBP 4/index/none . 2/r32/EDX 8/disp8 . # copy *(EBP+8) to EDX + 8b/copy 1/mod/*+disp8 4/rm32/sib 5/base/EBP 4/index/none . 2/r32/EDX 8/disp8 . # copy *(EBP+8) to EDX 8b/copy 0/mod/indirect 2/rm32/EDX . . . 2/r32/EDX . . # copy *EDX to EDX # call write() b8/copy . . . . . . . 4/imm32/write # copy to EAX diff --git a/subx/apps/factorial.subx b/subx/apps/factorial.subx index 5ff819ff..f93351e7 100644 --- a/subx/apps/factorial.subx +++ b/subx/apps/factorial.subx @@ -23,7 +23,7 @@ # prolog 89/copy 3/mod/direct 5/rm32/EBP . . . 4/r32/ESP . . # copy ESP to EBP # if (argc > 1) - 81 7/subop/compare 1/mod/*+disp8 4/rm32/SIB 5/base/EBP 4/index/none . . 0/disp8 1/imm32 # compare *EBP + 81 7/subop/compare 1/mod/*+disp8 4/rm32/sib 5/base/EBP 4/index/none . . 0/disp8 1/imm32 # compare *EBP 7e/jump-if-lesser-or-equal $run_main/disp8 # and if (argv[1] == "test") # push args diff --git a/subx/examples/ex11.subx b/subx/examples/ex11.subx index 46a6c1ea..c53f8bd3 100644 --- a/subx/examples/ex11.subx +++ b/subx/examples/ex11.subx @@ -315,10 +315,10 @@ write_stderr: # s : (address array byte) -> <void> # fd = 2 (stderr) bb/copy . . . . . . . 2/imm32 # copy to EBX # x = s+4 - 8b/copy 1/mod/*+disp8 4/rm32/SIB 5/base/EBP 4/index/none . 1/r32/ECX 8/disp8 . # copy *(EBP+8) to ECX + 8b/copy 1/mod/*+disp8 4/rm32/sib 5/base/EBP 4/index/none . 1/r32/ECX 8/disp8 . # copy *(EBP+8) to ECX 81 0/subop/add 3/mod/direct 1/rm32/ECX . . . . . 4/imm32 # add to ECX # size = *s - 8b/copy 1/mod/*+disp8 4/rm32/SIB 5/base/EBP 4/index/none . 2/r32/EDX 8/disp8 . # copy *(EBP+8) to EDX + 8b/copy 1/mod/*+disp8 4/rm32/sib 5/base/EBP 4/index/none . 2/r32/EDX 8/disp8 . # copy *(EBP+8) to EDX 8b/copy 0/mod/indirect 2/rm32/EDX . . . 2/r32/EDX . . # copy *EDX to EDX # call write() b8/copy . . . . . . . 4/imm32/write # copy to EAX |