From f15fcfe8227a62103c0c62c33faaa424c75f0a48 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Sun, 25 Nov 2018 14:06:22 -0800 Subject: [PATCH] 4777 --- subx/opcodes | 14 +++++++------- 1 file 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).