diff options
author | Kartik Agaram <vc@akkartik.com> | 2018-11-25 14:06:22 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2018-11-25 14:06:22 -0800 |
commit | f15fcfe8227a62103c0c62c33faaa424c75f0a48 (patch) | |
tree | a342f31457e6d27267d34663f32ff5384816f27d | |
parent | 50dcc0c122e7208fbddedac6f7939020c28e460d (diff) | |
download | mu-f15fcfe8227a62103c0c62c33faaa424c75f0a48.tar.gz |
4777
-rw-r--r-- | subx/opcodes | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/subx/opcodes b/subx/opcodes index e39eedfe..94d9c5f3 100644 --- a/subx/opcodes +++ b/subx/opcodes @@ -76,17 +76,17 @@ Opcodes currently supported by SubX: c7: copy imm32 to rm32 (mov) cd: software interrupt (int) e8: call disp32 (call) - e9: jump disp16 bytes away (jmp) + e9: jump disp32 bytes away (jmp) eb: jump disp8 bytes away (jmp) f4: halt (hlt) f7: negate/multiply rm32 (with EAX if necessary) depending on subop (neg/mul) ff: increment/decrement/jump/push/call rm32 based on subop (inc/dec/jmp/push/call) - 0f 84: jump disp16 bytes away if equal, if ZF is set (jcc/jz/je) - 0f 85: jump disp16 bytes away if not equal, if ZF is not set (jcc/jnz/jne) - 0f 8c: jump disp16 bytes away if lesser, if SF != OF (jcc/jl/jnge) - 0f 8d: jump disp16 bytes away if greater or equal, if SF == OF (jcc/jge/jnl) - 0f 8e: jump disp16 bytes away if lesser or equal, if ZF is set or SF != OF (jcc/jle/jng) - 0f 8f: jump disp16 bytes away if greater, if ZF is unset and SF == OF (jcc/jg/jnle) + 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 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). |