summary refs log tree commit diff
path: root/exit-code.gnu.asm
diff options
context:
space:
mode:
Diffstat (limited to 'exit-code.gnu.asm')
-rw-r--r--exit-code.gnu.asm27
1 files changed, 27 insertions, 0 deletions
diff --git a/exit-code.gnu.asm b/exit-code.gnu.asm
new file mode 100644
index 0000000..4c723e8
--- /dev/null
+++ b/exit-code.gnu.asm
@@ -0,0 +1,27 @@
+/*
+ * This file was a very early example, written by consulting [1]. It was
+ * useful primarily to see how the GNU assembler handles these opcodes, to
+ * better understand the encoding.
+ *
+ * [1] https://www.muppetlabs.com/~breadbox/software/tiny/teensy.html
+ *
+ *
+ * gcc -o quine -nostartfiles -nostdlib quine.S && ./quine ; echo $?
+ *
+ * or
+ *
+ * as -o quine.o quine.S && ld -s -o quine quine.o && ./quine; echo $?
+ *
+ * Can't use nasm, nasm is 32-bit only.
+ */
+.text
+
+.global _start
+
+_start:
+        //mov $60, %rax
+        //mov $42, %rdi
+        mov $60, %eax
+        mov $42, %edi
+        syscall
+