private void CV(Identifier dst) { var cv = binder.EnsureFlagGroup(arch.GetFlagGroup(Registers.sr, (uint)(FlagM.CY | FlagM.OV))); m.Assign(cv, m.Cond(dst)); }
private void EmitCond(Expression e, Identifier grf) { m.Assign(grf, m.Cond(e)); }
private void NZV_(Expression e) { var grf = arch.GetFlagGroup(Registers.ccr, (uint)(FlagM.NF | FlagM.ZF | FlagM.VF)); m.Assign(binder.EnsureFlagGroup(grf), m.Cond(e)); }
private void NZV(Expression e) { m.Assign(binder.EnsureFlagGroup(Registers.NZV), m.Cond(e)); }
private void EmitCond(FlagGroupStorage grf, Expression e) { m.Assign(binder.EnsureFlagGroup(grf), m.Cond(e)); }
private void Copy(RegisterStorage regDst, RegisterStorage regSrc) { var dst = frame.EnsureRegister(regDst); var src = frame.EnsureRegister(regSrc); emitter.Assign(dst, src); emitter.Assign( frame.EnsureFlagGroup( (uint)(FlagM.NF | FlagM.ZF), "NZ", PrimitiveType.Byte), emitter.Cond(dst)); }
public HExpr Cond(HExpr a) { return(MapToHandle(m.Cond(GetExpression(a)))); }
private void AllFlags(Expression dst) { var grf = FlagGroup(FlagM.NZVC); emitter.Assign(grf, emitter.Cond(dst)); }
private void C(Expression e) { var carry = binder.EnsureFlagGroup(Registers.C); m.Assign(carry, m.Cond(e)); }
private void EmitCond(FlagGroupStorage grf, Expression e) => EmitCc(grf, m.Cond(e));
private void NZV(Expression e) { var nzvc = arch.GetFlagGroup(Registers.CC, (uint)(FlagM.N | FlagM.Z | FlagM.V)); m.Assign(binder.EnsureFlagGroup(nzvc), m.Cond(e)); }
private void NZV0(Expression e) { m.Assign(binder.EnsureFlagGroup(Registers.NZV), m.Cond(e)); m.Assign(binder.EnsureFlagGroup(Registers.C), Constant.False()); }
private void CV(Identifier dst) { var cv = binder.EnsureFlagGroup(Registers.CV); m.Assign(cv, m.Cond(dst)); }
private void MaybeUpdateFlags(Expression opDst) { if (instr.ArchitectureDetail.UpdateFlags) { m.Assign(frame.EnsureFlagGroup(A32Registers.cpsr, 0x1111, "NZCV", PrimitiveType.Byte), m.Cond(opDst)); } }
private void CNZ(Expression e) { var cnz = binder.EnsureFlagGroup(arch.GetFlagGroup(arch.st, (uint)FlagM.CNZ)); m.Assign(cnz, m.Cond(e)); }
private void Copy(RegisterStorage regDst, RegisterStorage regSrc) { var dst = binder.EnsureRegister(regDst); var src = binder.EnsureRegister(regSrc); m.Assign(dst, src); m.Assign( binder.EnsureFlagGroup( Registers.p, (uint)(FlagM.NF | FlagM.ZF), "NZ", PrimitiveType.Byte), m.Cond(dst)); }
private void EmitFlags(Expression e, FlagGroupStorage mod) { var grf = binder.EnsureFlagGroup(mod); m.Assign(grf, m.Cond(e)); }
private void EmitCc(Expression dst) { emitter.Assign( frame.EnsureFlagGroup(0xF, "NZVC", PrimitiveType.Byte), emitter.Cond(dst)); }