+ ldr w0, [rFP, #LO_last_count]
+ mov w2, #0x1fc
+ add rCC, w0, rCC
+ str wzr, [rFP, #LO_pending_exception]
+ and w2, w2, rCC, lsr #17
+ add x3, rFP, #LO_restore_candidate
+ str rCC, [rFP, #LO_cycle] /* PCSX cycles */
+# str rCC, [rFP, #LO_reg_cop0+36] /* Count */
+ ldr w19, [x3, w2, uxtw]
+ mov x21, lr
+ cbnz w19, 4f
+1:
+ bl gen_interupt
+ mov lr, x21
+ ldr rCC, [rFP, #LO_cycle]
+ ldr w0, [rFP, #LO_next_interupt]
+ ldr w1, [rFP, #LO_pending_exception]
+ ldr w2, [rFP, #LO_stop]
+ str w0, [rFP, #LO_last_count]
+ sub rCC, rCC, w0
+ cbnz w2, new_dyna_leave
+ cbnz w1, 2f
+ ret
+2:
+ ldr w0, [rFP, #LO_pcaddr]
+ bl get_addr_ht
+ br x0
+4:
+ /* Move 'dirty' blocks to the 'clean' list */
+ lsl w20, w2, #3
+ str wzr, [x3, w2, uxtw]
+5:
+ mov w0, w20
+ add w20, w20, #1
+ tbz w19, #0, 6f
+ bl clean_blocks
+6:
+ lsr w19, w19, #1
+ tst w20, #31
+ bne 5b
+ b 1b