The saved machine state is recovered from the hardware stack and control
        is returned to the interrupted program. If the recovered E (entire) bit
        is clear, it indicates that only a subset of the machine state was saved
        (return address and condition codes) and only that subset is recovered.

        source code forms: RTI

        CC bits "HNZVC": -----

def instruction_RTI(self, opcode):
        """
        The saved machine state is recovered from the hardware stack and control
        is returned to the interrupted program. If the recovered E (entire) bit
        is clear, it indicates that only a subset of the machine state was saved
        (return address and condition codes) and only that subset is recovered.

        source code forms: RTI

        CC bits "HNZVC": -----
        """
        cc = self.pull_byte(self.system_stack_pointer) # CC
        self.set_cc(cc)
        if self.E:
            self.accu_a.set(
                self.pull_byte(self.system_stack_pointer) # A
            )
            self.accu_b.set(
                self.pull_byte(self.system_stack_pointer) # B
            )
            self.direct_page.set(
                self.pull_byte(self.system_stack_pointer) # DP
            )
            self.index_x.set(
                self.pull_word(self.system_stack_pointer) # X
            )
            self.index_y.set(
                self.pull_word(self.system_stack_pointer) # Y
            )
            self.user_stack_pointer.set(
                self.pull_word(self.system_stack_pointer) # U
            )

        self.program_counter.set(
            self.pull_word(self.system_stack_pointer) # PC
        )