コード例 #1
0
        public override AsmSegment[] ResolveTargets()
        {
            int?eventLabel = TargetEventLabel.TryResolveValue();

            if (eventLabel == null)
            {
                return(null);
            }

            AsmSegment target = SourceSegment.Event.Module.ParentCollection.GetModuleByIndex(TargetModuleIndex)[(ushort)eventLabel].Segments[0];

            return(new[] { target });
        }
コード例 #2
0
 public AsmAbsoluteRequestBinding(AsmSegment source, int sourceOffset, int targetModuleIndex, AsmValueSource targetEventLabel)
     : base(AsmBindingType.AbsoluteRequest, source, sourceOffset)
 {
     TargetModuleIndex = (ushort)targetModuleIndex;
     TargetEventLabel  = targetEventLabel;
 }
コード例 #3
0
 public AsmHardlinkBinding(AsmSegment source, AsmSegment target)
     : base(AsmBindingType.Hardlink, source, source.Length - 1)
 {
     TargetSegment = target;
 }
コード例 #4
0
ファイル: AsmBinding.cs プロジェクト: rebootus/Esthar
 public AsmBinding(AsmBindingType type, AsmSegment source, int sourceOffset)
 {
     Type          = type;
     SourceSegment = source;
     SourceOffset  = sourceOffset;
 }
コード例 #5
0
 public AsmConditionBinding(AsmSegment source, AsmSegment target, AsmValueSource conditionSource, bool isTrue)
     : base(isTrue ? AsmBindingType.ConditionTrue : AsmBindingType.ConditionFalse, source, source.Length - 1)
 {
     TargetSegment   = target;
     ConditionSource = conditionSource;
 }