about summary refs log tree commit diff stats
path: root/apps/ex4.subx
diff options
context:
space:
mode:
Diffstat (limited to 'apps/ex4.subx')
-rw-r--r--apps/ex4.subx39
1 files changed, 0 insertions, 39 deletions
diff --git a/apps/ex4.subx b/apps/ex4.subx
deleted file mode 100644
index 72f03254..00000000
--- a/apps/ex4.subx
+++ /dev/null
@@ -1,39 +0,0 @@
-# Read a character from stdin, save it to a global, write it to stdout.
-#
-# To run:
-#   $ ./bootstrap translate init.linux apps/ex4.subx -o apps/ex4
-#   $ ./bootstrap run apps/ex4
-
-== data
-
-# the global variable we save to
-X:
-    0/imm32  # space for read() to write to
-
-== code
-
-Entry:
-# read(stdin, X, 1)
-# . fd = 0 (stdin)
-bb/copy-to-ebx  0/imm32
-# . data = X (location to write result to)
-b9/copy-to-ecx  X/imm32
-# . size = 1 character
-ba/copy-to-edx  1/imm32
-# . syscall
-e8/call  syscall_read/disp32
-
-# write(stdout, X, 1)
-# . fd = 1 (stdout)
-bb/copy-to-ebx  1/imm32
-# . initialize X (location to read from)
-b9/copy-to-ecx  X/imm32
-# . size = 1 character
-ba/copy-to-edx  1/imm32
-# . syscall
-e8/call  syscall_write/disp32
-
-# exit(ebx)
-e8/call  syscall_exit/disp32
-
-# . . vim:nowrap:textwidth=0