GetFlagGroup() public méthode

public GetFlagGroup ( string name ) : FlagGroupStorage
name string
Résultat FlagGroupStorage
Exemple #1
0
        private void RewriteJr()
        {
            rtlc.Class = RtlClass.Transfer;
            var op  = dasm.Current.Op1;
            var cop = op as ConditionOperand;

            if (cop != null)
            {
                op = dasm.Current.Op2;
            }
            var target = (AddressOperand)op;

            if (cop != null)
            {
                ConditionCode cc;
                FlagM         cr;
                switch (cop.Code)
                {
                case CondCode.c: cc = ConditionCode.ULT; cr = FlagM.CF; break;

                case CondCode.nz: cc = ConditionCode.NE; cr = FlagM.ZF; break;

                case CondCode.nc: cc = ConditionCode.UGE; cr = FlagM.CF; break;

                case CondCode.z: cc = ConditionCode.EQ; cr = FlagM.ZF; break;

                default: throw new NotImplementedException();
                }
                emitter.Branch(
                    emitter.Test(
                        cc,
                        frame.EnsureFlagGroup(arch.GetFlagGroup((uint)cr))),
                    target.Address,
                    RtlClass.ConditionalTransfer);
            }
            else
            {
                emitter.Goto(target.Address);
            }
        }
Exemple #2
0
 public Identifier FlagGroup(FlagM flags)
 {
     return(binder.EnsureFlagGroup(arch.GetFlagGroup(Registers.f, (uint)flags)));
 }