diff options
author | iximeow <me@iximeow.net> | 2021-03-21 02:58:48 -0700 |
---|---|---|
committer | iximeow <me@iximeow.net> | 2021-03-21 02:58:48 -0700 |
commit | d7b07d3eb6e6dc614fbc13cb66b951cb93daec44 (patch) | |
tree | c762755b87a42ccc297924270a8ee22b01355ad7 /src | |
parent | da8501f8463a106aec2d4389d71ab86add23a51a (diff) |
xed says setssbsy and saveprevssp are more permissive
Diffstat (limited to 'src')
-rw-r--r-- | src/long_mode/mod.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/long_mode/mod.rs b/src/long_mode/mod.rs index 2d29835..6a85542 100644 --- a/src/long_mode/mod.rs +++ b/src/long_mode/mod.rs @@ -8326,7 +8326,7 @@ fn unlikely_operands<T: Iterator<Item=u8>>(decoder: &InstDecoder, mut bytes_iter let m = modrm & 7; match m { 0b000 => { - if !instruction.prefixes.rep() || instruction.prefixes.operand_size() || instruction.prefixes.repnz() { + if !instruction.prefixes.rep() || instruction.prefixes.repnz() { return Err(DecodeError::InvalidOpcode); } instruction.opcode = Opcode::SETSSBSY; @@ -8334,7 +8334,7 @@ fn unlikely_operands<T: Iterator<Item=u8>>(decoder: &InstDecoder, mut bytes_iter instruction.operand_count = 0; } 0b010 => { - if !instruction.prefixes.rep() || instruction.prefixes.operand_size() || instruction.prefixes.repnz() { + if !instruction.prefixes.rep() || instruction.prefixes.repnz() { return Err(DecodeError::InvalidOpcode); } instruction.opcode = Opcode::SAVEPREVSSP; |