diff options
Diffstat (limited to 'subx')
-rw-r--r-- | subx/apps/crenshaw2-1.subx | 16 | ||||
-rw-r--r-- | subx/apps/factorial.subx | 4 | ||||
-rw-r--r-- | subx/examples/ex1.2.subx | 2 | ||||
-rw-r--r-- | subx/examples/ex10.subx | 2 | ||||
-rw-r--r-- | subx/examples/ex2.subx | 2 | ||||
-rw-r--r-- | subx/examples/ex3.subx | 2 | ||||
-rw-r--r-- | subx/examples/ex4.subx | 6 | ||||
-rw-r--r-- | subx/examples/ex5.subx | 6 | ||||
-rw-r--r-- | subx/examples/ex6.subx | 4 | ||||
-rw-r--r-- | subx/examples/ex7.subx | 18 | ||||
-rw-r--r-- | subx/examples/ex8.subx | 2 | ||||
-rw-r--r-- | subx/examples/ex9.subx | 2 |
12 files changed, 33 insertions, 33 deletions
diff --git a/subx/apps/crenshaw2-1.subx b/subx/apps/crenshaw2-1.subx index 97ef55ec..48a6c16e 100644 --- a/subx/apps/crenshaw2-1.subx +++ b/subx/apps/crenshaw2-1.subx @@ -21,7 +21,7 @@ # main: # abort(Error_integer) # push args - 68/push . . . . . . . Error_integer/imm32 + 68/push Error_integer/imm32 # call e8/call abort/disp32 # discard arg @@ -29,7 +29,7 @@ # exit(0) bb/copy . . . . . . . 0/imm32 # copy 0 to EBX b8/copy . . . . . . . 1/imm32/exit # copy 1 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # print error message and exit # really maps to the 'Expected' function in Crenshaw @@ -44,13 +44,13 @@ abort: # s : (address array byte) -> <void> # exit(1) bb/copy . . . . . . . 1/imm32 # copy 1 to EBX b8/copy . . . . . . . 1/imm32/exit # copy 1 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # print out "Error: #{s} expected\n" to stderr error: # s : (address array byte) -> <void> # write_stderr("Error: ") # push args - 68/push . . . . . . . Error/imm32 + 68/push Error/imm32 # call e8/call write_stderr/disp32 # discard arg @@ -64,14 +64,14 @@ error: # s : (address array byte) -> <void> 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add 4 to ESP # write_stderr(" expected") # push args - 68/push . . . . . . . Expected_suffix/imm32 + 68/push Expected_suffix/imm32 # call e8/call write_stderr/disp32 # discard arg 81 0/subop/add 3/mod/direct 4/rm32/ESP . . . . . 4/imm32 # add 4 to ESP # write_stderr("\n") # push args - 68/push . . . . . . . Newline/imm32 + 68/push Newline/imm32 # call e8/call write_stderr/disp32 # discard arg @@ -91,7 +91,7 @@ write_stderr: # s : (address array byte) -> <void> 8b/copy 0/mod/indirect 2/rm32/EDX . . . 2/r32/EDX . . # copy *EDX to EDX # call write() b8/copy . . . . . . . 4/imm32/write # copy 1 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # end c3/return @@ -107,7 +107,7 @@ write_stdout: # s : (address array byte) -> <void> 8b/copy 0/mod/indirect 2/rm32/EDX . . . 2/r32/EDX . . # copy *EDX to EDX # call write() b8/copy . . . . . . . 4/imm32/write # copy 1 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # end c3/return diff --git a/subx/apps/factorial.subx b/subx/apps/factorial.subx index d71ea455..f1cce6a4 100644 --- a/subx/apps/factorial.subx +++ b/subx/apps/factorial.subx @@ -29,7 +29,7 @@ # exit(EAX) 89/copy 3/mod/direct 3/rm32/EBX . . . 0/r32/EAX . . # copy EAX to EBX b8/copy . . . . . . . 1/imm32 # copy 1 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # factorial(n) factorial: @@ -106,7 +106,7 @@ write_stderr: # s : (address array byte) -> <void> 8b/copy 0/mod/indirect 2/rm32/EDX . . . 2/r32/EDX . . # copy *EDX to EDX # call write() b8/copy . . . . . . . 4/imm32/write # copy 1 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # end c3/return diff --git a/subx/examples/ex1.2.subx b/subx/examples/ex1.2.subx index 7dca4ec3..a355ef6b 100644 --- a/subx/examples/ex1.2.subx +++ b/subx/examples/ex1.2.subx @@ -15,6 +15,6 @@ bb/copy 2a/imm32 # copy 42 to EBX # exit(EBX) b8/copy 1/imm32 # copy 1 to EAX - cd/syscall 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # vim:ft=subx diff --git a/subx/examples/ex10.subx b/subx/examples/ex10.subx index 1b0b0a29..edcda506 100644 --- a/subx/examples/ex10.subx +++ b/subx/examples/ex10.subx @@ -31,7 +31,7 @@ # exit(EAX) 89/copy 3/mod/direct 3/rm32/EBX . . . 0/r32/EAX . . # copy EAX to EBX b8/copy . . . . . . . 1/imm32 # copy 1 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # compare two null-terminated ascii strings # reason for the name: the only place we should have null-terminated ascii strings is from commandline args diff --git a/subx/examples/ex2.subx b/subx/examples/ex2.subx index 0aad9232..e0c76712 100644 --- a/subx/examples/ex2.subx +++ b/subx/examples/ex2.subx @@ -15,6 +15,6 @@ 81 0/subop/add 3/mod/direct 3/rm32/EBX 1/imm32 # add 1 to EBX # exit(EBX) b8/copy 1/imm32 # copy 1 to EAX - cd/syscall 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # vim:ft=subx diff --git a/subx/examples/ex3.subx b/subx/examples/ex3.subx index 41a8900a..30a8d5d3 100644 --- a/subx/examples/ex3.subx +++ b/subx/examples/ex3.subx @@ -30,6 +30,6 @@ $loop: $exit: # exit(EBX) b8/copy 1/imm32 # copy 1 to EAX - cd/syscall 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # vim:ft=subx:nowrap diff --git a/subx/examples/ex4.subx b/subx/examples/ex4.subx index 512978d1..810278e6 100644 --- a/subx/examples/ex4.subx +++ b/subx/examples/ex4.subx @@ -18,7 +18,7 @@ ba/copy 1/imm32 # copy 1 to EDX # read(fd, x, size) b8/copy 3/imm32/read # copy 3 to EAX - cd/syscall 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # write(stdout, x, 1) # fd = 1 (stdout) @@ -29,11 +29,11 @@ ba/copy 1/imm32 # copy 1 to EDX # write(fd, x, size) b8/copy 4/imm32/write # copy 4 to EAX - cd/syscall 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # exit(EBX) b8/copy 1/imm32/exit # copy 1 to EAX - cd/syscall 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 == data x: diff --git a/subx/examples/ex5.subx b/subx/examples/ex5.subx index cafad042..16b87bc8 100644 --- a/subx/examples/ex5.subx +++ b/subx/examples/ex5.subx @@ -25,7 +25,7 @@ ba/copy 1/imm32 # copy 1 to EDX # read(fd, x, size) b8/copy 3/imm32/read # copy 3 to EAX - cd/syscall 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # write(stdout, x, 1) # fd = 1 (stdout) @@ -36,10 +36,10 @@ ba/copy 1/imm32 # copy 1 to EDX # write(fd, x, size) b8/copy 4/imm32/write # copy 4 to EAX - cd/syscall 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # exit(EBX) b8/copy 1/imm32/exit # copy 1 to EAX - cd/syscall 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # vim:ft=subx:nowrap diff --git a/subx/examples/ex6.subx b/subx/examples/ex6.subx index 92ad4c21..0213ad7e 100644 --- a/subx/examples/ex6.subx +++ b/subx/examples/ex6.subx @@ -19,11 +19,11 @@ 8b/copy 0/mod/indirect 5/rm32/.disp32 2/r32/EDX size/disp32 # copy *size to EDX # write(fd, x, size) b8/copy 4/imm32/write # copy 4 to EAX - cd/syscall 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # exit(EBX) b8/copy 1/imm32/exit # copy 1 to EAX - cd/syscall 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 == data size: # size of string diff --git a/subx/examples/ex7.subx b/subx/examples/ex7.subx index dd615920..a1bb19c8 100644 --- a/subx/examples/ex7.subx +++ b/subx/examples/ex7.subx @@ -19,14 +19,14 @@ bb/copy . . . . . . . filename/imm32 # copy to EBX b9/copy . . . . . . . 0x180/imm32/fixed-perms # copy to ECX b8/copy . . . . . . . 8/imm32/creat # copy 8 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # stream = open(filename, O_WRONLY, 0) # we can't use 'fd' because it looks like a hex byte bb/copy . . . . . . . filename/imm32 # copy to EBX b9/copy . . . . . . . 1/imm32/wronly # copy 1 to ECX ba/copy . . . . . . . 0x180/imm32/fixed-perms # copy 0 to EDX b8/copy . . . . . . . 5/imm32/open # copy 5 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # save stream bb/copy . . . . . . . stream/imm32 # copy to EBX 89/copy 0/mod/indirect 3/rm32/EBX 0/r32/EAX # copy EAX to *EBX @@ -39,7 +39,7 @@ b9/copy . . . . . . . a/imm32 # copy to ECX ba/copy . . . . . . . 1/imm32/size # copy 1 to EDX b8/copy . . . . . . . 4/imm32/write # copy 4 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # close(stream) # load stream @@ -47,14 +47,14 @@ 8b/copy 0/mod/indirect 3/rm32/EBX 3/r32/EBX # copy *EBX to EBX # b8/copy . . . . . . . 6/imm32/close # copy 6 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # stream = open(filename, O_RDONLY, 0) bb/copy . . . . . . . filename/imm32 # copy to EBX b9/copy . . . . . . . 0/imm32/rdonly # copy 0 to ECX ba/copy . . . . . . . 0x180/imm32/fixed-perms # copy to EDX b8/copy . . . . . . . 5/imm32/open # copy 5 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # save stream bb/copy . . . . . . . stream/imm32 # copy to EBX 89/copy 0/mod/indirect 3/rm32/EBX 0/r32/EAX # copy EAX to *EBX @@ -67,7 +67,7 @@ b9/copy . . . . . . . b/imm32 # copy to ECX ba/copy . . . . . . . 1/imm32/size # copy 1 to EDX b8/copy . . . . . . . 3/imm32/read # copy 3 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # close(stream) # load stream @@ -75,12 +75,12 @@ 8b/copy 0/mod/indirect 3/rm32/EBX 3/r32/EBX # copy *EBX to EBX # b8/copy . . . . . . . 6/imm32/close # copy 6 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # unlink(filename) bb/copy . . . . . . . filename/imm32 # copy to EBX b8/copy . . . . . . . 0xa/imm32/unlink # copy 10 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 # exit(b) # load b @@ -88,7 +88,7 @@ 8b/copy 0/mod/indirect 3/rm32/EBX 3/r32/EBX # copy *EBX to EBX # b8/copy . . . . . . . 1/imm32/exit # copy 1 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 == data stream: diff --git a/subx/examples/ex8.subx b/subx/examples/ex8.subx index de0fa188..f06e8c92 100644 --- a/subx/examples/ex8.subx +++ b/subx/examples/ex8.subx @@ -37,7 +37,7 @@ # exit(EAX) 89/copy 3/mod/direct 3/rm32/EBX . . . 0/r32/EAX . . # copy EAX to EBX b8/copy . . . . . . . 1/imm32/exit # copy 1 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 ascii_length: # (s) # initialize s (EDX) diff --git a/subx/examples/ex9.subx b/subx/examples/ex9.subx index aa519dc1..91e62159 100644 --- a/subx/examples/ex9.subx +++ b/subx/examples/ex9.subx @@ -35,7 +35,7 @@ # exit(EAX) 89/copy 3/mod/direct 3/rm32/EBX . . . 0/r32/EAX . . # copy EAX to EBX b8/copy . . . . . . . 1/imm32/exit # copy 1 to EAX - cd/syscall . . . . . . . 0x80/imm8 # int 80h + cd/syscall 0x80/imm8 ascii_difference: # (s1, s2) : null-terminated ascii strings # a = first letter of s1 (ECX) |