about summary refs log tree commit diff stats
path: root/subx_opcodes
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-05-08 21:16:23 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-05-08 21:49:50 -0700
commitf9f419af71a89740448a54f765b89d20e5519d58 (patch)
tree562a7dc06c99b1676a24209613e38965025831e9 /subx_opcodes
parentdf68e6eddcdd4b7c595a5ae4c0cffd5df5a664db (diff)
downloadmu-f9f419af71a89740448a54f765b89d20e5519d58.tar.gz
support checking overflow flag everywhere
Diffstat (limited to 'subx_opcodes')
-rw-r--r--subx_opcodes4
1 files changed, 4 insertions, 0 deletions
diff --git a/subx_opcodes b/subx_opcodes
index f8bdc045..19fa1dbd 100644
--- a/subx_opcodes
+++ b/subx_opcodes
@@ -51,6 +51,8 @@ Opcodes currently supported by SubX:
   5f: pop top of stack to EDI (pop)
   68: push imm32 to stack (push)
   69: multiply rm32 by imm32 and store result in r32 (imul)
+  70: jump disp8 bytes away if OF is set (jcc/jo)
+  71: jump disp8 bytes away if OF is unset (jcc/jno)
   72: jump disp8 bytes away if lesser (addr, float), if CF is set (jcc/jb/jnae)
   73: jump disp8 bytes away if greater or equal (addr, float), if CF is unset (jcc/jae/jnb)
   74: jump disp8 bytes away if equal, if ZF is set (jcc/jz/je)
@@ -91,6 +93,8 @@ Opcodes currently supported by SubX:
   f7: negate/multiply/divide rm32 (with EAX and EDX if necessary) depending on subop (neg/mul/idiv)
   ff: increment/decrement/jump/push/call rm32 based on subop (inc/dec/jmp/push/call)
   0f 2f: compare: set CF if x32 < xm32 (comiss)
+  0f 80: jump disp32 bytes away if OF is set (jcc/jo)
+  0f 81: jump disp32 bytes away if OF is unset (jcc/jno)
   0f 82: jump disp32 bytes away if lesser (addr, float), if CF is set (jcc/jb/jnae)
   0f 83: jump disp32 bytes away if greater or equal (addr, float), if CF is unset (jcc/jae/jnb)
   0f 84: jump disp32 bytes away if equal, if ZF is set (jcc/jz/je)