x86: handle f2/f3 prefix for 16bit. see issue #452
This commit is contained in:
parent
9b1b3871d3
commit
36fb9a2fff
|
@ -1238,9 +1238,9 @@ static int getID(struct InternalInstruction *insn)
|
|||
attrMask |= ATTR_OPSIZE;
|
||||
} else if (isPrefixAtLocation(insn, 0x67, insn->necessaryPrefixLocation)) {
|
||||
attrMask |= ATTR_ADSIZE;
|
||||
} else if (isPrefixAtLocation(insn, 0xf3, insn->necessaryPrefixLocation)) {
|
||||
} else if (insn->mode != MODE_16BIT && isPrefixAtLocation(insn, 0xf3, insn->necessaryPrefixLocation)) {
|
||||
attrMask |= ATTR_XS;
|
||||
} else if (isPrefixAtLocation(insn, 0xf2, insn->necessaryPrefixLocation)) {
|
||||
} else if (insn->mode != MODE_16BIT && isPrefixAtLocation(insn, 0xf2, insn->necessaryPrefixLocation)) {
|
||||
attrMask |= ATTR_XD;
|
||||
}
|
||||
}
|
||||
|
@ -1260,6 +1260,7 @@ static int getID(struct InternalInstruction *insn)
|
|||
return -1;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* JCXZ/JECXZ need special handling for 16-bit mode because the meaning
|
||||
* of the AdSize prefix is inverted w.r.t. 32-bit mode.
|
||||
|
|
Loading…
Reference in New Issue