about summary refs log tree commit diff stats
path: root/subx/ex2.subx
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2018-07-06 23:34:10 -0700
committerKartik Agaram <vc@akkartik.com>2018-07-06 23:34:10 -0700
commita62f334c60bc19c581de27bd7b2a865647bcb00f (patch)
tree99bece4ae713110b56350b710cc4d6dd1a83ac2e /subx/ex2.subx
parent517a471bc0945657dc331c16d4bed74c7dc5b3b5 (diff)
downloadmu-a62f334c60bc19c581de27bd7b2a865647bcb00f.tar.gz
4317 - example program: simple addition
Diffstat (limited to 'subx/ex2.subx')
-rw-r--r--subx/ex2.subx13
1 files changed, 13 insertions, 0 deletions
diff --git a/subx/ex2.subx b/subx/ex2.subx
new file mode 100644
index 00000000..39f784e9
--- /dev/null
+++ b/subx/ex2.subx
@@ -0,0 +1,13 @@
+## add 1 and 1
+
+# opcode        ModR/M                    SIB                   displacement    immediate
+# instruction   mod, reg, Reg/Mem bits    scale, index, base
+# 1-3 bytes     0/1 byte                  0/1 byte              0/1/2/4 bytes   0/1/2/4 bytes
+  bb                                                                            2a 00 00 00   # copy 0x2a (42) to EBX
+  bb                                                                            42/imm32      # copy 42 to EBX
+  81            c3                                                              1/imm32       # add 1 to EBX
+  # exit
+  05                                                                            01 00 00 00   # copy 1 to EAX
+  cd                                                                            80            # int 80h
+
+# vim:ft=subx