* \311 - indicates fixed 32-bit address size, i.e. optional 0x67.
* \312 - (disassembler only) marker on LOOP, LOOPxx instructions.
* \313 - indicates fixed 64-bit address size, 0x67 invalid.
+ * \314 - (disassembler only) invalid with REX.B
+ * \315 - (disassembler only) invalid with REX.X
+ * \316 - (disassembler only) invalid with REX.R
+ * \317 - (disassembler only) invalid with REX.W
* \320 - indicates fixed 16-bit operand size, i.e. optional 0x66.
* \321 - indicates fixed 32-bit operand size, i.e. optional 0x66.
* \322 - indicates that this instruction is only valid when the
has_prefix(ins, PPS_ASIZE, P_A32))
return -1;
break;
+ case 0314:
+ case 0315:
+ case 0316:
+ case 0317:
+ break;
case 0320:
length += (bits != 16);
break;
ins->rex = 0;
break;
+ case 0314:
+ case 0315:
+ case 0316:
+ case 0317:
+ break;
+
case 0320:
if (bits != 16) {
*bytes = 0x66;
return false;
else
a_used = true;
+ } else if (c == 0314) {
+ if (prefix->rex & REX_B)
+ return false;
+ } else if (c == 0315) {
+ if (prefix->rex & REX_X)
+ return false;
+ } else if (c == 0316) {
+ if (prefix->rex & REX_R)
+ return false;
+ } else if (c == 0317) {
+ if (prefix->rex & REX_W)
+ return false;
} else if (c == 0320) {
if (osize != 16)
return false;
NEG rm16 \320\1\xF7\203 8086
NEG rm32 \321\1\xF7\203 386
NEG rm64 \324\1\xF7\203 X64
-NOP void \1\x90 8086
+NOP void \314\1\x90 8086
NOP rm16 \320\2\x0F\x1F\200 P6
NOP rm32 \321\2\x0F\x1F\200 P6
NOP rm64 \324\2\x0F\x1F\200 X64