fn rol(&mut self) -> bool {
        self.fetch();

        let shifted = self.fetched << 1 | self.flags.carry as u8;

        self.flags.set(Flags::N, (shifted & 0x80) != 0);
        self.flags.set(Flags::Z, shifted == 0);
        self.flags.set(Flags::C, (self.fetched & 0x80) != 0);

        let opcode = self.opcode as usize;
        if INSTRUCTIONS[opcode].mode == AddrMode::Imp {
            self.acc = shifted & 0x00FF;
        } else {
            self.write(self.eff_addr, shifted & 0x00FF);
        }

        false
    }
// ROL: Rotate left
// Affects: N Z C
Rotate left
Affects: N Z C
Rotate left Affects : N Z C
fn rol(&mut self) -> bool {
        self.fetch();
        let shifted = self.fetched << 1 | self.flags.carry as u8;
        self.flags.set(Flags::N, (shifted & 0x80) != 0);
        self.flags.set(Flags::Z, shifted == 0);
        self.flags.set(Flags::C, (self.fetched & 0x80) != 0);
        let opcode = self.opcode as usize;
        if INSTRUCTIONS[opcode].mode == AddrMode::Imp {
            self.acc = shifted & 0x00FF;
        } else {
            self.write(self.eff_addr, shifted & 0x00FF);
        }
        false
    }
fn rol ( & mut self ) -> bool { self . fetch ( ) ; let shifted = self . fetched << 1 | self . flags . carry as u8 ; self . flags . set ( Flags :: N , ( shifted & 0x80 ) != 0 ) ; self . flags . set ( Flags :: Z , shifted == 0 ) ; self . flags . set ( Flags :: C , ( self . fetched & 0x80 ) != 0 ) ; let opcode = self . opcode as usize ; if INSTRUCTIONS [ opcode ] . mode == AddrMode :: Imp { self . acc = shifted & 0x00FF ; } else { self . write ( self . eff_addr , shifted & 0x00FF ) ; } false }
ROL: Rotate left
Affects: N Z C
ROL : Rotate left Affects : N Z C
&mut self