about summary refs log tree commit diff stats
path: root/subx/opcodes
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2019-07-25 22:55:21 -0700
committerKartik Agaram <vc@akkartik.com>2019-07-25 22:55:21 -0700
commit0c7f08cea081644ef1f79cda065c716f76b7db32 (patch)
treec65d01a3a7834d69fe7c0981750e3926af104bf7 /subx/opcodes
parent68ccf4d3245e78c869f25ffc5078f267eb22a9ee (diff)
downloadmu-0c7f08cea081644ef1f79cda065c716f76b7db32.tar.gz
5479
Diffstat (limited to 'subx/opcodes')
-rw-r--r--subx/opcodes12
1 files changed, 8 insertions, 4 deletions
diff --git a/subx/opcodes b/subx/opcodes
index d8e38a43..bebf3052 100644
--- a/subx/opcodes
+++ b/subx/opcodes
@@ -89,12 +89,16 @@ Opcodes currently supported by SubX:
   f4: halt (hlt)
   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 82: jump disp32 bytes away if lesser (unsigned), if CF is set (jcc/jb/jnae)
+  0f 83: jump disp32 bytes away if greater or equal (unsigned), if CF is unset (jcc/jae/jnb)
   0f 84: jump disp32 bytes away if equal, if ZF is set (jcc/jz/je)
   0f 85: jump disp32 bytes away if not equal, if ZF is not set (jcc/jnz/jne)
-  0f 8c: jump disp32 bytes away if lesser, if SF != OF (jcc/jl/jnge)
-  0f 8d: jump disp32 bytes away if greater or equal, if SF == OF (jcc/jge/jnl)
-  0f 8e: jump disp32 bytes away if lesser or equal, if ZF is set or SF != OF (jcc/jle/jng)
-  0f 8f: jump disp32 bytes away if greater, if ZF is unset and SF == OF (jcc/jg/jnle)
+  0f 86: jump disp8 bytes away if lesser or equal (unsigned), if ZF is set or CF is set (jcc/jbe/jna)
+  0f 87: jump disp32 bytes away if greater (unsigned), if ZF is unset and CF is unset (jcc/ja/jnbe)
+  0f 8c: jump disp32 bytes away if lesser (signed), if SF != OF (jcc/jl/jnge)
+  0f 8d: jump disp32 bytes away if greater or equal (signed), if SF == OF (jcc/jge/jnl)
+  0f 8e: jump disp32 bytes away if lesser or equal (signed), if ZF is set or SF != OF (jcc/jle/jng)
+  0f 8f: jump disp32 bytes away if greater (signed), if ZF is unset and SF == OF (jcc/jg/jnle)
   0f af: multiply rm32 into r32 (imul)
 Run `subx help instructions` for details on words like 'r32' and 'disp8'.
 For complete details on these instructions, consult the IA-32 manual (volume 2).