rusty-nes/src/addressing.rs

27 lines
533 B
Rust
Raw Normal View History

2022-08-23 20:11:25 +00:00
use crate::cpu::CPU;
impl CPU
{
pub fn abs(&mut self)
{
let bus = self.bus.upgrade().unwrap();
let lo = bus.borrow().read_cpu(self.pc) as u16;
let hi = bus.borrow().read_cpu(self.pc + 1) as u16;
self.pc += 2;
self.absolute_addr = (hi << 8) | lo;
print!("{: <30}", format!("${:04X}", self.absolute_addr));
}
pub fn imm(&mut self)
{
let bus = self.bus.upgrade().unwrap();
self.absolute_addr = self.pc;
self.pc += 1;
print!("{: <30}", format!("#${:02X}", bus.borrow().read_cpu(self.absolute_addr)));
}
}