diff options
-rw-r--r-- | subx/opcodes | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/subx/opcodes b/subx/opcodes index 098435d0..d8e38a43 100644 --- a/subx/opcodes +++ b/subx/opcodes @@ -50,12 +50,16 @@ Opcodes currently supported by SubX: 5e: pop top of stack to ESI (pop) 5f: pop top of stack to EDI (pop) 68: push imm32 to stack (push) + 72: jump disp8 bytes away if lesser (unsigned), if CF is set (jcc/jb/jnae) + 73: jump disp8 bytes away if greater or equal (unsigned), if CF is unset (jcc/jae/jnb) 74: jump disp8 bytes away if equal, if ZF is set (jcc/jz/je) 75: jump disp8 bytes away if not equal, if ZF is not set (jcc/jnz/jne) - 7c: jump disp8 bytes away if lesser, if SF != OF (jcc/jl/jnge) - 7d: jump disp8 bytes away if greater or equal, if SF == OF (jcc/jge/jnl) - 7e: jump disp8 bytes away if lesser or equal, if ZF is set or SF != OF (jcc/jle/jng) - 7f: jump disp8 bytes away if greater, if ZF is unset and SF == OF (jcc/jg/jnle) + 76: jump disp8 bytes away if lesser or equal (unsigned), if ZF is set or CF is set (jcc/jbe/jna) + 77: jump disp8 bytes away if greater (unsigned), if ZF is unset and CF is unset (jcc/ja/jnbe) + 7c: jump disp8 bytes away if lesser (signed), if SF != OF (jcc/jl/jnge) + 7d: jump disp8 bytes away if greater or equal (signed), if SF == OF (jcc/jge/jnl) + 7e: jump disp8 bytes away if lesser or equal (signed), if ZF is set or SF != OF (jcc/jle/jng) + 7f: jump disp8 bytes away if greater (signed), if ZF is unset and SF == OF (jcc/jg/jnle) 81: combine rm32 with imm32 based on subop (add/sub/and/or/xor/cmp) 87: swap the contents of r32 and rm32 (xchg) 88: copy r8 to r8/m8-at-r32 |