Disallow LOCK prefix for non-lockable instructions
This commit is contained in:
@@ -37,6 +37,7 @@ InstrFlags = bitstruct("InstrFlags", [
|
||||
"gp_size_def64:1",
|
||||
"gp_instr_width:1",
|
||||
"gp_fixed_operand_size:3",
|
||||
"lock:1",
|
||||
])
|
||||
assert InstrFlags._encode_size <= 32
|
||||
|
||||
@@ -113,6 +114,7 @@ class InstrDesc(namedtuple("InstrDesc", "mnemonic,flags,encoding")):
|
||||
if "SIZE_8" in desc[6:]: flags.gp_size_8 = 1
|
||||
if "INSTR_WIDTH" in desc[6:]: flags.gp_instr_width = 1
|
||||
if "IMM_8" in desc[6:]: flags.imm_byte = 1
|
||||
if "LOCK" in desc[6:]: flags.lock = 1
|
||||
|
||||
return cls(desc[5], frozenset(desc[6:]), flags._encode())
|
||||
def encode(self, mnemonics_lut):
|
||||
|
||||
Reference in New Issue
Block a user