Ejemplo n.º 1
0
        public void ShowGoto(uint offset)
        {
            BankedAddress ba  = new BankedAddress(offset);
            GotoDialog    dlg = new GotoDialog
            {
                Address = ba
            };

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                history.Remember(Code.CurrentLine);
                history.Move(dlg.Address.AbsoluteAddress.Value);
            }
        }
Ejemplo n.º 2
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();
        }
Ejemplo n.º 3
0
 private IOperand OpJ(uint i) => BankedAddress.GuessFromContext(Location, i);