예제 #1
0
 public SubtractLine(CodeLine codeLine, bool carryFlag) : base(codeLine.Code, codeLine, codeLine.Strings)
 {
     CarryFlag = carryFlag;
     var split = codeLine.Code["SUB".Length..].Trim().Split(','); //SUB or SBC
예제 #2
0
        public RotateLeftLine(CodeLine codeLine) : base(codeLine.Code, codeLine, codeLine.Strings)
        {
            base.Comment = codeLine.Comment;
            base.Raw     = codeLine.Raw;

            Rotate = base.Code[(base.Code.IndexOf("RL", StringComparison.OrdinalIgnoreCase) + "RL".Length)..].Trim();
예제 #3
0
 public WarnLine(CodeLine codeLine) : base(codeLine.Code, codeLine, codeLine.Strings)
 {
     Warning = Parser.GetStrings(codeLine.Code).Single().TrimStart('"').TrimEnd('"');
 }
예제 #4
0
 public OptionLine(CodeLine codeLine) : base(codeLine.Code, codeLine, codeLine.Strings)
 {
     var options = codeLine.Code["OPT".Length..].Trim().Split(',');
예제 #5
0
 public PurgeLine(CodeLine codeLine) : base(codeLine.Code, codeLine, codeLine.Strings)
 {
     Purge = codeLine.Code.Split().Last();
 }
예제 #6
0
 public ElseLine(CodeLine codeLine) : base(codeLine.Code, codeLine, codeLine.Strings)
 {
 }
예제 #7
0
        public IncrementLine(CodeLine codeLine) : base(codeLine.Code, codeLine, codeLine.Strings)
        {
            base.Comment = codeLine.Comment;
            base.Raw     = codeLine.Raw;

            Increment = base.Code[(base.Code.IndexOf("INC", StringComparison.OrdinalIgnoreCase) + "INC".Length)..]
예제 #8
0
        public RelativeJumpLine(CodeLine codeLine) : base(codeLine.Code, codeLine, codeLine.Strings)
        {
            base.Comment = codeLine.Comment;
            base.Raw     = codeLine.Raw;

            var parameters = codeLine.Code["JR".Length..].Split(',');
예제 #9
0
 public SubtractCompareLine(CodeLine codeLine) : base(codeLine.Code, codeLine, codeLine.Strings)
 {
     var values = codeLine.Code.Trim()["CP".Length..].Trim();
예제 #10
0
 public CharMapLine(CodeLine codeLine) : base(codeLine.Code, codeLine, codeLine.Strings)
 {
     var values     = codeLine.Code.Trim()["CHARMAP".Length..].Trim();
예제 #11
0
 public JumpLine(CodeLine codeLine) : base(codeLine.Code, codeLine, codeLine.Strings)
 {
     JumpDestination = base.Code[(base.Code.IndexOf("JP", StringComparison.OrdinalIgnoreCase) + "JP".Length)..]
예제 #12
0
 public EndMacroLine(CodeLine codeLine) : base(codeLine.Code, codeLine, codeLine.Strings)
 {
 }
예제 #13
0
 public FailLine(CodeLine codeLine) : base(codeLine.Code, codeLine, codeLine.Strings)
 {
     FailMessage = Parser.GetStrings(codeLine.Code).Single().TrimStart('"').TrimEnd('"');
 }
예제 #14
0
        public CharMapLine(CodeLine codeLine) : base(codeLine.Code, codeLine, codeLine.Strings)
        {
            base.Comment = codeLine.Comment;
            base.Raw     = codeLine.Raw;

            var values = codeLine.Code.Trim()["CHARMAP".Length..];
예제 #15
0
 public ShiftLine(CodeLine codeLine) : base(codeLine.Code, codeLine, codeLine.Strings)
 {
 }
예제 #16
0
 public ResetByteLine(CodeLine codeLine) : base(codeLine.Code, codeLine, codeLine.Strings)
 {
     SetBit = codeLine.Code["RES".Length..].Split(',')[0].Trim();