Beispiel #1
0
 public override void Execute(_MethodInfo aMethod, ILOpCode aOpCode)
 {
     XS.DataMember(aMethod.MethodBase.GetFullName() + "_" + "LeaveAddress_" + aOpCode.CurrentExceptionRegion.HandlerOffset.ToString("X2"), 0);
     XS.Set(EAX, aMethod.MethodBase.GetFullName() + "_" + "LeaveAddress_" + aOpCode.CurrentExceptionRegion.HandlerOffset.ToString("X2"));
     new CPUx86.Jump {
         DestinationReg = EAX, DestinationIsIndirect = true
     };
 }
Beispiel #2
0
        public override void Execute(_MethodInfo aMethod, ILOpCode aOpCode)
        {
            string leaveAddressVariableName = $"{aMethod.MethodBase.GetFullName()}_LeaveAddress_{aOpCode.CurrentExceptionRegion.HandlerOffset:X2}";

            XS.DataMember(leaveAddressVariableName, 0);
            XS.Set(EAX, leaveAddressVariableName);
            new CPUx86.Jump {
                DestinationReg = EAX, DestinationIsIndirect = true
            };
        }