about summary refs log tree commit diff stats
path: root/linux/ex2.subx
diff options
context:
space:
mode:
Diffstat (limited to 'linux/ex2.subx')
-rw-r--r--linux/ex2.subx20
1 files changed, 20 insertions, 0 deletions
diff --git a/linux/ex2.subx b/linux/ex2.subx
new file mode 100644
index 00000000..14007329
--- /dev/null
+++ b/linux/ex2.subx
@@ -0,0 +1,20 @@
+# Add 3 and 4, and return the result in the exit code.
+#
+# To run:
+#   $ ./bootstrap translate init.linux apps/ex2.subx -o apps/ex2
+#   $ ./bootstrap run apps/ex2
+# Expected result:
+#   $ echo $?
+#   2
+
+== code
+
+Entry:
+# ebx = 3
+bb/copy-to-ebx  3/imm32
+# add 4 to ebx
+81 0/subop/add 3/mod/direct 3/rm32/ebx 4/imm32
+# exit(ebx)
+e8/call  syscall_exit/disp32
+
+# . . vim:nowrap:textwidth=0