Beispiel #1
0
        public Instruction(Disassembler dis, OpCode op, uint loc) : this()
        {
            Parent      = dis;
            Location    = loc;
            Address     = new BankedAddress(loc);
            Op          = op;
            OperandSize = LR35902.GetOperandSize(op);

            OperandBytes = Tool.Slice(Parent.ROM, loc + 1, loc + TotalSize);
            IsEnd        = LR35902.IsOpEnd(op);
            JumpLocation = LR35902.GetJumpDestination(op, loc + 1, OperandBytes);

            if (Op == OpCode.PREFIX_CB)
            {
                CBOp = (CBOpCode)OperandBytes[0];
            }

            OpType   = DetermineOpType(Op, CBOp);
            Operands = DetermineOperands();
        }
Beispiel #2
0
 public Labeller(Disassembler dis) : this()
 {
     Parent = dis;
 }
Beispiel #3
0
 public Namer(Disassembler dis) : this()
 {
     Parent = dis;
 }
Beispiel #4
0
 public LR35902(Disassembler dis) : base()
 {
     Parent = dis;
 }