mirror of
https://github.com/asmjit/asmjit.git
synced 2025-12-17 12:34:35 +03:00
Assembler - Fixed bug when generating LEA having absolute address.
This commit is contained in:
@@ -3185,7 +3185,6 @@ _EmitX86M:
|
||||
EMIT_BYTE(0x67);
|
||||
}
|
||||
|
||||
|
||||
// Segment override prefix.
|
||||
if (rmMem->hasSegment()) {
|
||||
EMIT_BYTE(x86SegmentPrefix[rmMem->getSegment()]);
|
||||
|
||||
@@ -3146,6 +3146,7 @@ Mem ptr_abs(Ptr pAbs, const X86Reg& index, uint32_t shift, int32_t disp, uint32_
|
||||
Mem m(NoInit);
|
||||
uint32_t flags = shift << kMemShiftIndex;
|
||||
|
||||
if (index.isGp()) flags |= Mem::_getGpdFlags(reinterpret_cast<const BaseVar&>(index));
|
||||
if (index.isXmm()) flags |= kMemVSibXmm << kMemVSibIndex;
|
||||
if (index.isYmm()) flags |= kMemVSibYmm << kMemVSibIndex;
|
||||
|
||||
@@ -3160,6 +3161,7 @@ Mem ptr_abs(Ptr pAbs, const X86Var& index, uint32_t shift, int32_t disp, uint32_
|
||||
Mem m(NoInit);
|
||||
uint32_t flags = shift << kMemShiftIndex;
|
||||
|
||||
if (index.isGp()) flags |= Mem::_getGpdFlags(reinterpret_cast<const BaseVar&>(index));
|
||||
if (index.isXmm()) flags |= kMemVSibXmm << kMemVSibIndex;
|
||||
if (index.isYmm()) flags |= kMemVSibYmm << kMemVSibIndex;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user