diff --git a/src/disasm.rs b/src/disasm.rs index 9a53fe6..4c2a37b 100644 --- a/src/disasm.rs +++ b/src/disasm.rs @@ -468,7 +468,12 @@ impl Disassembler { let imm = self.parse_byte(); Self::modrm_reg_to_grp1(reg, target, Operand::Byte(imm)) } - 0x83 => panic!("Sign extented GPR1 not yet implemented"), + 0x83 => { + // byte extended version + let (target, reg) = self.parse_modrm_byte(Operand::Word(0)); + let imm = self.parse_byte(); + Self::modrm_reg_to_grp1(reg, target, Operand::Byte(imm)) + } 0x84 => modrmb!(self, TEST), 0x85 => modrmv!(self, TEST),