Merge pull request #1754 from jranieri-grammatech/jranieri/moffset_disp

Fix the displacement offset for moffset-encoded operands
This commit is contained in:
Wu ChenXu 2021-11-11 00:09:13 +08:00 committed by GitHub
commit c7538d4741
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 0 deletions

View File

@ -1999,6 +1999,15 @@ static int readOperands(struct InternalInstruction* insn)
case ENCODING_Ia:
if (readImmediate(insn, insn->addressSize))
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;
case ENCODING_IRC: