code: def push_irq_registers(self):
          
          self.cycles += 1
          self.push_word(self.system_stack_pointer, self.program_counter.value) # PC
          self.push_word(self.system_stack_pointer, self.user_stack_pointer.value) # U
          self.push_word(self.system_stack_pointer, self.index_y.value) # Y
          self.push_word(self.system_stack_pointer, self.index_x.value) # X
          self.push_byte(self.system_stack_pointer, self.direct_page.value) # DP
          self.push_byte(self.system_stack_pointer, self.accu_b.value) # B
          self.push_byte(self.system_stack_pointer, self.accu_a.value) # A
          self.push_byte(self.system_stack_pointer, self.get_cc_value())
docs: push PC, U, Y, X, DP, B, A, CC on System stack pointer