public static void Ldr_Literal(ArmEmitterContext context) { IOpCodeLit op = (IOpCodeLit)context.CurrOp; if (op.Prefetch) { return; } if (op.Signed) { EmitLoadSx64(context, Const(op.Immediate), op.Rt, op.Size); } else { EmitLoadZx(context, Const(op.Immediate), op.Rt, op.Size); } }
public static void Ldr_Literal(ArmEmitterContext context) { IOpCodeLit op = (IOpCodeLit)context.CurrOp; if (op.Prefetch) { return; } Operand address = !context.HasTtc ? Const(op.Immediate) : Const(op.Immediate, new Symbol(SymbolType.DynFunc, context.GetOffset((ulong)op.Immediate))); if (op.Signed) { EmitLoadSx64(context, address, op.Rt, op.Size); } else { EmitLoadZx(context, address, op.Rt, op.Size); } }