pub fn indr_addr(&mut self) -> u16 {
        let lo_addr = self.memory.fetch(self.reg.pc) as u16;
        let hi_addr = self.memory.fetch(self.reg.pc + 1) as u16;
        self.reg.pc += 2;

        let lo_adjusted = lo_addr + 1 | hi_addr << 8;
        let hi_adjusted = lo_addr | hi_addr << 8;

        let lo = self.memory.fetch(lo_adjusted) as u16;
        let hi = self.memory.fetch(hi_adjusted) as u16;
        lo | hi << 8
    }
/// Indirect address.
///
/// The 6502 processor has a bug in which only the high byte is incremented instead of the
/// whole 16-bit address when computing the indirect address. See
/// http://www.6502.org/tutorials/6502opcodes.html#JMP for details.
Indirect address.
The 6502 processor has a bug in which only the high byte is incremented instead of the
whole 16-bit address when computing the indirect address.
Indirect address . The 6502 processor has a bug in which only the high byte is incremented instead of the whole 16 - bit address when computing the indirect address .
pub fn indr_addr(&mut self) -> u16 {
        let lo_addr = self.memory.fetch(self.reg.pc) as u16;
        let hi_addr = self.memory.fetch(self.reg.pc + 1) as u16;
        self.reg.pc += 2;
        let lo_adjusted = lo_addr + 1 | hi_addr << 8;
        let hi_adjusted = lo_addr | hi_addr << 8;
        let lo = self.memory.fetch(lo_adjusted) as u16;
        let hi = self.memory.fetch(hi_adjusted) as u16;
        lo | hi << 8
    }
pub fn indr_addr ( & mut self ) -> u16 { let lo_addr = self . memory . fetch ( self . reg . pc ) as u16 ; let hi_addr = self . memory . fetch ( self . reg . pc + 1 ) as u16 ; self . reg . pc += 2 ; let lo_adjusted = lo_addr + 1 | hi_addr << 8 ; let hi_adjusted = lo_addr | hi_addr << 8 ; let lo = self . memory . fetch ( lo_adjusted ) as u16 ; let hi = self . memory . fetch ( hi_adjusted ) as u16 ; lo | hi << 8 }
Indirect address.
Indirect address .
&mut self
&mut self