fn call(&mut self) -> Result<usize, io::Error> {
        // NB. ordering is important here because instructions can (and need
        //     to) modify the interpreter state
        self.state = InterpreterState::FetchDecode;
        match self.instruction {
            Some(i) => i(self),
            None => panic!("Null pointer exception?!"),
        }
    }
/// call the most recently-decoded instruction
call the most recently-decoded instruction
call the most recently - decoded instruction
fn call(&mut self) -> Result<usize, io::Error> {
        // NB. ordering is important here because instructions can (and need
        //     to) modify the interpreter state
        self.state = InterpreterState::FetchDecode;
        match self.instruction {
            Some(i) => i(self),
            None => panic!("Null pointer exception?!"),
        }
    }
fn call ( & mut self ) -> Result < usize , io :: Error > { // NB. ordering is important here because instructions can (and need //     to) modify the interpreter state self . state = InterpreterState :: FetchDecode ; match self . instruction { Some ( i ) => i ( self ) , None => panic ! ( " " ) , } }
call the most recently-decoded instruction
call the most recently - decoded instruction
&mut self