Ingen beskrivning

disable_cry_table_blocks.s 555B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. .gba
  2. cry_variable equ 0x02037ECC
  3. cry_handler equ 0x081DE638 + 1
  4. disableCryTableBlocks: // BPED =$080A35BC ; BPRE =$080720C8
  5. MOV R1, R0
  6. MOV R0, #0xC
  7. MUL R0, R1
  8. MOV R3, R9
  9. CMP R3, #0
  10. BEQ forward_cry
  11. reverse_cry:
  12. LDR R1,=_reverse_crytable
  13. B calc_table_entry
  14. forward_cry:
  15. LDR R1,=_forward_crytable
  16. calc_table_entry:
  17. ADD R0, R0, R1
  18. BL call_cry_handler
  19. LDR R1,=cry_variable
  20. STR R0, [R1]
  21. ADD SP, SP, #4
  22. POP {R3-R5}
  23. MOV R8, R3
  24. MOV R9, R4
  25. MOV R10, R5
  26. POP {R4-R7}
  27. POP {R0}
  28. BX R0
  29. call_cry_handler:
  30. LDR R1,=cry_handler
  31. BX R1
  32. .pool