예제 #1
0
 public SubAssignment GetSubAssignment()
 {
     if (this.Math)
     {
         return(null);
     }
     else if (this.SourceSubAssignment == null)
     {
         this.SourceSubAssignment = this.SourceAssignment.GetSubAssignment(this);
     }
     return(this.SourceSubAssignment);
 }
예제 #2
0
            public ParsedAssignment(byte Opcode)
            {
                this.Opcode = Opcode;
                this.Push   = ((Opcode >> 7) & 0x01) == 0x01;
                this.Math   = ((Opcode >> 6) & 0x01) == 0x01;
                this.ASG    = (byte)((Opcode >> 3) & 0x07);
                this.MTH    = (byte)(Opcode & 0x1F);
                this.Bit1   = ((Opcode >> 1) & 0x01) == 0x01;
                this.Bit2   = ((Opcode >> 2) & 0x01) == 0x01;
                this.Size   = (AssignmentSize)((Opcode >> 1) & 0x03);
                this.Swap   = ((Opcode >> 5) & 0x01) == 0x01;

                if (this.Math)
                {
                    this.MathAssignment = MathInstructions[this.MTH];
                }
                else
                {
                    this.SourceAssignment = Assignments[this.ASG];
                }
                this.SourceSubAssignment = null;
            }