using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace UniversalEditor.ObjectModels.Executable.Instructions { public class ExecutableInstructionCall : ExecutableInstruction where T : struct, IComparable, IComparable, IConvertible, IEquatable, IFormattable { public override ExecutableInstructionOpcode OpCode { get { return ExecutableInstructionOpcode.Call; } } private byte mvarExtra = 0; public byte Extra { get { return mvarExtra; } set { mvarExtra = value; } } private T mvarAddress = default(T); /// /// The address of the next instruction to execute. /// public T Address { get { return mvarAddress; } set { mvarAddress = value; } } public override string ToString() { return "CALL 0x" + mvarAddress.ToString("X", null).PadLeft(2, '0'); } } }