pub(crate) fn sknp_vx(&mut self, optcode: u16) {
        debug!("SKNPVx => {:#X}", optcode);
        let (_x, _ ) = vx_vy!(optcode);
        let _vx = self.v[_x] as usize;
        info!("k[{}]: {}", _vx, self.keyboard[_vx]);
        self.pc += skip_if!(!self.keyboard[_vx]);
        //self.quit = true;
    }
/// ExA1 - SKNP Vx
/// Skip next instruction if key with the value of Vx is not pressed.
/// Checks the keyboard, and if the key corresponding to the value of Vx is currently in the up position, PC is increased by 2.
SKNP Vx
Skip next instruction if key with the value of Vx is not pressed.
Checks the keyboard, and if the key corresponding to the value of Vx is currently in the up position, PC is increased by 2.
SKNP Vx Skip next instruction if key with the value of Vx is not pressed . Checks the keyboard and if the key corresponding to the value of Vx is currently in the up position PC is increased by 2 .
pub(crate) fn sknp_vx(&mut self, optcode: u16) {
        debug!("SKNPVx => {:#X}", optcode);
        let (_x, _ ) = vx_vy!(optcode);
        let _vx = self.v[_x] as usize;
        info!("k[{}]: {}", _vx, self.keyboard[_vx]);
        self.pc += skip_if!(!self.keyboard[_vx]);
        //self.quit = true;
    }
pub ( crate ) fn sknp_vx ( & mut self , optcode : u16 ) { debug ! ( " " optcode ) ; let ( _x , _ ) = vx_vy ! ( optcode ) ; let _vx = self . v [ _x ] as usize ; info ! ( " " _vx self keyboard [ _vx ] ) ; self . pc += skip_if ! ( self keyboard [ _vx ] ) ; //self.quit = true; }
ExA1 - SKNP Vx
Skip next instruction if key with the value of Vx is not pressed.
ExA1 - SKNP Vx Skip next instruction if key with the value of Vx is not pressed .
&mut self
optcode
u16
&mut self
optcode
u16