Merge pull request #1754 from jranieri-grammatech/jranieri/moffset_disp
Fix the displacement offset for moffset-encoded operands
This commit is contained in:
commit
c7538d4741
|
@ -1999,6 +1999,15 @@ static int readOperands(struct InternalInstruction* insn)
|
||||||
case ENCODING_Ia:
|
case ENCODING_Ia:
|
||||||
if (readImmediate(insn, insn->addressSize))
|
if (readImmediate(insn, insn->addressSize))
|
||||||
return -1;
|
return -1;
|
||||||
|
/* Direct memory-offset (moffset) immediate will get mapped
|
||||||
|
to memory operand later. We want the encoding info to
|
||||||
|
reflect that as well. */
|
||||||
|
insn->displacementOffset = insn->immediateOffset;
|
||||||
|
insn->consumedDisplacement = true;
|
||||||
|
insn->displacementSize = insn->immediateSize;
|
||||||
|
insn->displacement = insn->immediates[insn->numImmediatesConsumed - 1];
|
||||||
|
insn->immediateOffset = 0;
|
||||||
|
insn->immediateSize = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ENCODING_IRC:
|
case ENCODING_IRC:
|
||||||
|
|
Loading…
Reference in New Issue