From 5a2cb154eb016aa8b84ad939f63eb56dd7a0a90f Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Tue, 2 Oct 2018 01:21:01 -0700 Subject: 4649 --- html/subx/examples/ex7.subx.html | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'html/subx/examples/ex7.subx.html') diff --git a/html/subx/examples/ex7.subx.html b/html/subx/examples/ex7.subx.html index 8a971671..d5ef4a99 100644 --- a/html/subx/examples/ex7.subx.html +++ b/html/subx/examples/ex7.subx.html @@ -59,9 +59,9 @@ if ('onhashchange' in window) { 3 # it for reading, read a character from it, close it, delete it, and return 4 # the character read. 5 # - 6 # To run: - 7 # $ subx translate ex8.subx ex8 - 8 # $ subx run ex8 + 6 # To run (from the subx directory): + 7 # $ subx translate examples/ex7.subx -o examples/ex7 + 8 # $ subx run examples/ex7 9 # Expected result: 10 # $ echo $? 11 # 97 @@ -74,14 +74,14 @@ if ('onhashchange' in window) { 18 # creat(filename) 19 bb/copy . . . . . . . filename/imm32 # copy to EBX 20 b9/copy . . . . . . . 0x180/imm32/fixed-perms # copy to ECX - 21 b8/copy . . . . . . . 8/imm32/creat # copy 8 to EAX + 21 b8/copy . . . . . . . 8/imm32/creat # copy to EAX 22 cd/syscall 0x80/imm8 23 24 # stream = open(filename, O_WRONLY, 0) # we can't use 'fd' because it looks like a hex byte 25 bb/copy . . . . . . . filename/imm32 # copy to EBX - 26 b9/copy . . . . . . . 1/imm32/wronly # copy 1 to ECX - 27 ba/copy . . . . . . . 0x180/imm32/fixed-perms # copy 0 to EDX - 28 b8/copy . . . . . . . 5/imm32/open # copy 5 to EAX + 26 b9/copy . . . . . . . 1/imm32/wronly # copy to ECX + 27 ba/copy . . . . . . . 0x180/imm32/fixed-perms # copy to EDX + 28 b8/copy . . . . . . . 5/imm32/open # copy to EAX 29 cd/syscall 0x80/imm8 30 # save stream 31 bb/copy . . . . . . . stream/imm32 # copy to EBX @@ -93,8 +93,8 @@ if ('onhashchange' in window) { 37 8b/copy 0/mod/indirect 3/rm32/EBX 3/r32/EBX # copy *EBX to EBX 38 # 39 b9/copy . . . . . . . a/imm32 # copy to ECX - 40 ba/copy . . . . . . . 1/imm32/size # copy 1 to EDX - 41 b8/copy . . . . . . . 4/imm32/write # copy 4 to EAX + 40 ba/copy . . . . . . . 1/imm32/size # copy to EDX + 41 b8/copy . . . . . . . 4/imm32/write # copy to EAX 42 cd/syscall 0x80/imm8 43 44 # close(stream) @@ -102,14 +102,14 @@ if ('onhashchange' in window) { 46 bb/copy . . . . . . . stream/imm32 # copy to EBX 47 8b/copy 0/mod/indirect 3/rm32/EBX 3/r32/EBX # copy *EBX to EBX 48 # - 49 b8/copy . . . . . . . 6/imm32/close # copy 6 to EAX + 49 b8/copy . . . . . . . 6/imm32/close # copy to EAX 50 cd/syscall 0x80/imm8 51 52 # stream = open(filename, O_RDONLY, 0) 53 bb/copy . . . . . . . filename/imm32 # copy to EBX - 54 b9/copy . . . . . . . 0/imm32/rdonly # copy 0 to ECX + 54 b9/copy . . . . . . . 0/imm32/rdonly # copy to ECX 55 ba/copy . . . . . . . 0x180/imm32/fixed-perms # copy to EDX - 56 b8/copy . . . . . . . 5/imm32/open # copy 5 to EAX + 56 b8/copy . . . . . . . 5/imm32/open # copy to EAX 57 cd/syscall 0x80/imm8 58 # save stream 59 bb/copy . . . . . . . stream/imm32 # copy to EBX @@ -121,8 +121,8 @@ if ('onhashchange' in window) { 65 8b/copy 0/mod/indirect 3/rm32/EBX 3/r32/EBX # copy *EBX to EBX 66 # 67 b9/copy . . . . . . . b/imm32 # copy to ECX - 68 ba/copy . . . . . . . 1/imm32/size # copy 1 to EDX - 69 b8/copy . . . . . . . 3/imm32/read # copy 3 to EAX + 68 ba/copy . . . . . . . 1/imm32/size # copy to EDX + 69 b8/copy . . . . . . . 3/imm32/read # copy to EAX 70 cd/syscall 0x80/imm8 71 72 # close(stream) @@ -130,12 +130,12 @@ if ('onhashchange' in window) { 74 bb/copy . . . . . . . stream/imm32 # copy to EBX 75 8b/copy 0/mod/indirect 3/rm32/EBX 3/r32/EBX # copy *EBX to EBX 76 # - 77 b8/copy . . . . . . . 6/imm32/close # copy 6 to EAX + 77 b8/copy . . . . . . . 6/imm32/close # copy to EAX 78 cd/syscall 0x80/imm8 79 80 # unlink(filename) 81 bb/copy . . . . . . . filename/imm32 # copy to EBX - 82 b8/copy . . . . . . . 0xa/imm32/unlink # copy 10 to EAX + 82 b8/copy . . . . . . . 0xa/imm32/unlink # copy to EAX 83 cd/syscall 0x80/imm8 84 85 # exit(b) @@ -143,7 +143,7 @@ if ('onhashchange' in window) { 87 bb/copy . . . . . . . b/imm32 # copy to EBX 88 8b/copy 0/mod/indirect 3/rm32/EBX 3/r32/EBX # copy *EBX to EBX 89 # - 90 b8/copy . . . . . . . 1/imm32/exit # copy 1 to EAX + 90 b8/copy . . . . . . . 1/imm32/exit # copy to EAX 91 cd/syscall 0x80/imm8 92 93 == data -- cgit 1.4.1-2-gfad0