From d37aefee4edb15ca58534454c7d5dd87af696fef Mon Sep 17 00:00:00 2001 From: iximeow Date: Fri, 29 Nov 2019 17:21:28 -0800 Subject: hack to handle prefixed sequences that might appear to be escaped opcodes --- src/lib.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/lib.rs b/src/lib.rs index d507f3c..312be7c 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1237,7 +1237,8 @@ const BITWISE_OPCODE_MAP: [Opcode; 8] = [ Opcode::SAR ]; fn read_opcode_660f_map>(_bytes_iter: &mut T, _length: &mut u8) -> Option { - panic!("660f opcode map unsupported".to_string()); + None +// panic!("660f opcode map unsupported".to_string()); } const OPCODE_F20F_MAP: [OpcodeRecord; 256] = [ @@ -2645,7 +2646,10 @@ pub fn read_instr>(mut bytes_iter: T, instruction: &mut Ins } else if b == 0x0f { if let Some(record) = match alternate_opcode_map { Some(OpcodeMap::Map66) => { - read_opcode_660f_map(&mut bytes_iter, &mut length) + // read_opcode_660f_map(&mut bytes_iter, &mut length) + prefixes.set_operand_size(); + length += 1; + Some(OPCODES[bytes_iter.next().unwrap() as usize]) }, Some(OpcodeMap::MapF2) => { read_opcode_f20f_map(&mut bytes_iter, &mut length) -- cgit v1.1