A32: Fix BLX and BXWritePC (#3151)
This commit is contained in:
parent
644b497df1
commit
f1460d5494
2 changed files with 2 additions and 2 deletions
|
@ -71,7 +71,7 @@ namespace ARMeilleure.Instructions
|
|||
|
||||
SetFlag(context, PState.TFlag, bitOne);
|
||||
|
||||
EmitVirtualCall(context, addr);
|
||||
EmitBxWritePc(context, addr);
|
||||
}
|
||||
|
||||
public static void Bx(ArmEmitterContext context)
|
||||
|
|
|
@ -186,7 +186,7 @@ namespace ARMeilleure.Instructions
|
|||
|
||||
SetFlag(context, PState.TFlag, mode);
|
||||
|
||||
Operand addr = context.ConditionalSelect(mode, pc, context.BitwiseAnd(pc, Const(~3)));
|
||||
Operand addr = context.ConditionalSelect(mode, context.BitwiseAnd(pc, Const(~1)), context.BitwiseAnd(pc, Const(~3)));
|
||||
|
||||
InstEmitFlowHelper.EmitVirtualJump(context, addr, isReturn);
|
||||
}
|
||||
|
|
Reference in a new issue