A32: Fix BLX and BXWritePC (#3151)

This commit is contained in:
merry 2022-02-22 13:41:56 +00:00 committed by GitHub
parent 644b497df1
commit f1460d5494
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 2 deletions

View file

@ -71,7 +71,7 @@ namespace ARMeilleure.Instructions
SetFlag(context, PState.TFlag, bitOne); SetFlag(context, PState.TFlag, bitOne);
EmitVirtualCall(context, addr); EmitBxWritePc(context, addr);
} }
public static void Bx(ArmEmitterContext context) public static void Bx(ArmEmitterContext context)

View file

@ -186,7 +186,7 @@ namespace ARMeilleure.Instructions
SetFlag(context, PState.TFlag, mode); 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); InstEmitFlowHelper.EmitVirtualJump(context, addr, isReturn);
} }