Advertisement
Bond697

pkrs masks

Jan 23rd, 2012
489
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.88 KB | None | 0 0
  1. RAM_ARM9:0201B23C @ =============== S U B R O U T I N E =======================================
  2. RAM_ARM9:0201B23C
  3. RAM_ARM9:0201B23C
  4. RAM_ARM9:0201B23C PartyPkmWithPkrsBitmask: @ CODE XREF: Pokerus+1Ep
  5. RAM_ARM9:0201B23C F8 B5 PUSH {R3-R7,LR}
  6. RAM_ARM9:0201B23E 07 1C MOVS R7, R0 @ R7 := R0
  7. RAM_ARM9:0201B240 00 25 MOVS R5, #0 @ R5 := 0
  8. RAM_ARM9:0201B242 FF F7 F7 FB BL Dereference4
  9. RAM_ARM9:0201B246 06 1C MOVS R6, R0 @ R6 := R0
  10. RAM_ARM9:0201B248 00 24 MOVS R4, #0 @ R4 : = 0
  11. RAM_ARM9:0201B24A 00 2E CMP R6, #0 @ R6 == 0?
  12. RAM_ARM9:0201B24C 11 DD BLE loc_201B272
  13. RAM_ARM9:0201B24E
  14. RAM_ARM9:0201B24E loc_201B24E: @ CODE XREF: PartyPkmWithPkrsBitmask+34j
  15. RAM_ARM9:0201B24E 38 1C MOVS R0, R7 @ R0 := R7
  16. RAM_ARM9:0201B250 21 1C MOVS R1, R4 @ R1 := R4
  17. RAM_ARM9:0201B252 FF F7 77 FC BL NextPartyPkmAddr
  18. RAM_ARM9:0201B256 97 21 MOVS R1, #0x97 @ 'ù' @ R1 := 0x97 (Pokérus)
  19. RAM_ARM9:0201B258 00 22 MOVS R2, #0 @ R2 := 0
  20. RAM_ARM9:0201B25A FC F7 ED FD BL GetPkmStat
  21. RAM_ARM9:0201B25E 00 28 CMP R0, #0 @ Has Pokérus?
  22. RAM_ARM9:0201B260 04 D0 BEQ loc_201B26C
  23. RAM_ARM9:0201B262 01 20 MOVS R0, #1 @ R0:=1
  24. RAM_ARM9:0201B264 A0 40 LSLS R0, R4 @ R0<<=R4
  25. RAM_ARM9:0201B266 00 06 LSLS R0, R0, #0x18 @ R0<<=24
  26. RAM_ARM9:0201B268 00 0E LSRS R0, R0, #0x18 @ R0>>=24
  27. RAM_ARM9:0201B26A 05 43 ORRS R5, R0 @ R5 |= R0
  28. RAM_ARM9:0201B26C
  29. RAM_ARM9:0201B26C loc_201B26C: @ CODE XREF: PartyPkmWithPkrsBitmask+24j
  30. RAM_ARM9:0201B26C 64 1C ADDS R4, R4, #1 @ R4++
  31. RAM_ARM9:0201B26E B4 42 CMP R4, R6 @ R4 < R6?
  32. RAM_ARM9:0201B270 ED DB BLT loc_201B24E
  33. RAM_ARM9:0201B272
  34. RAM_ARM9:0201B272 loc_201B272: @ CODE XREF: PartyPkmWithPkrsBitmask+10j
  35. RAM_ARM9:0201B272 28 1C MOVS R0, R5 @ return R5
  36. RAM_ARM9:0201B274 F8 BD POP {R3-R7,PC}
  37. RAM_ARM9:0201B274 @ End of function PartyPkmWithPkrsBitmask
  38. RAM_ARM9:0201B274
  39.  
  40.  
  41.  
  42. -------------------------------------------------------------------------------------------------
  43.  
  44.  
  45.  
  46. RAM_ARM9:0201B23C @ =============== S U B R O U T I N E =======================================
  47. RAM_ARM9:0201B23C
  48. RAM_ARM9:0201B23C
  49. RAM_ARM9:0201B23C partyPKMWithPKRSBitmask__: @ CODE XREF: doPKRS__+1Ep
  50. RAM_ARM9:0201B23C F8 B5 PUSH {R3-R7,LR}
  51. RAM_ARM9:0201B23E 07 1C MOVS R7, R0 @ r0 to v4(as var)
  52. RAM_ARM9:0201B240 00 25 MOVS R5, #0 @ r5 = 0
  53. RAM_ARM9:0201B242 FF F7 F7 FB BL dereferencePointer4__
  54. RAM_ARM9:0201B246 06 1C MOVS R6, R0 @ r0 to v3 (as var)- counter
  55. RAM_ARM9:0201B248 00 24 MOVS R4, #0
  56. RAM_ARM9:0201B24A 00 2E CMP R6, #0 @ if(r6 == 0){return XX;}
  57. RAM_ARM9:0201B24A @
  58. RAM_ARM9:0201B24A @ looks like a for-loop with the if inside in case the counter_max was 0 i.e. for(r4 = 0; r4 < r6; r4++){r6 = 0, so return}
  59. RAM_ARM9:0201B24C 11 DD BLE bank3
  60. RAM_ARM9:0201B24E
  61. RAM_ARM9:0201B24E bank1: @ CODE XREF: partyPKMWithPKRSBitmask__+34j
  62. RAM_ARM9:0201B24E 38 1C MOVS R0, R7 @ pCurrent
  63. RAM_ARM9:0201B250 21 1C MOVS R1, R4 @ partyPos
  64. RAM_ARM9:0201B252 FF F7 77 FC BL getNextPartyPKMAdr__
  65. RAM_ARM9:0201B256 97 21 MOVS R1, #0x97 @ 'ù' @ size
  66. RAM_ARM9:0201B258 00 22 MOVS R2, #0 @ c
  67. RAM_ARM9:0201B25A FC F7 ED FD BL getPKMStat__
  68. RAM_ARM9:0201B25E 00 28 CMP R0, #0 @ infected with pkrs (y/n)?
  69. RAM_ARM9:0201B260 04 D0 BEQ bank2 @ if not, skip the rest of the loop
  70. RAM_ARM9:0201B262 01 20 MOVS R0, #1 @ this should already be 1 if we're here
  71. RAM_ARM9:0201B264 A0 40 LSLS R0, R4 @ left-shift by current counter
  72. RAM_ARM9:0201B266 00 06 LSLS R0, R0, #0x18 @ this is (dumb)typecasting, u32 -> u8
  73. RAM_ARM9:0201B268 00 0E LSRS R0, R0, #0x18 @ rest of dumb typecasting
  74. RAM_ARM9:0201B26A 05 43 ORRS R5, R0
  75. RAM_ARM9:0201B26C
  76. RAM_ARM9:0201B26C bank2: @ CODE XREF: partyPKMWithPKRSBitmask__+24j
  77. RAM_ARM9:0201B26C 64 1C ADDS R4, R4, #1 @ counter++
  78. RAM_ARM9:0201B26E B4 42 CMP R4, R6 @ is i = counter_max? next iteration if not
  79. RAM_ARM9:0201B270 ED DB BLT bank1
  80. RAM_ARM9:0201B272
  81. RAM_ARM9:0201B272 bank3: @ CODE XREF: partyPKMWithPKRSBitmask__+10j
  82. RAM_ARM9:0201B272 28 1C MOVS R0, R5
  83. RAM_ARM9:0201B274 F8 BD POP {R3-R7,PC}
  84. RAM_ARM9:0201B274 @ End of function partyPKMWithPKRSBitmask__
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement