Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- RAM_ARM9:0201B23C @ =============== S U B R O U T I N E =======================================
- RAM_ARM9:0201B23C
- RAM_ARM9:0201B23C
- RAM_ARM9:0201B23C PartyPkmWithPkrsBitmask: @ CODE XREF: Pokerus+1Ep
- RAM_ARM9:0201B23C F8 B5 PUSH {R3-R7,LR}
- RAM_ARM9:0201B23E 07 1C MOVS R7, R0 @ R7 := R0
- RAM_ARM9:0201B240 00 25 MOVS R5, #0 @ R5 := 0
- RAM_ARM9:0201B242 FF F7 F7 FB BL Dereference4
- RAM_ARM9:0201B246 06 1C MOVS R6, R0 @ R6 := R0
- RAM_ARM9:0201B248 00 24 MOVS R4, #0 @ R4 : = 0
- RAM_ARM9:0201B24A 00 2E CMP R6, #0 @ R6 == 0?
- RAM_ARM9:0201B24C 11 DD BLE loc_201B272
- RAM_ARM9:0201B24E
- RAM_ARM9:0201B24E loc_201B24E: @ CODE XREF: PartyPkmWithPkrsBitmask+34j
- RAM_ARM9:0201B24E 38 1C MOVS R0, R7 @ R0 := R7
- RAM_ARM9:0201B250 21 1C MOVS R1, R4 @ R1 := R4
- RAM_ARM9:0201B252 FF F7 77 FC BL NextPartyPkmAddr
- RAM_ARM9:0201B256 97 21 MOVS R1, #0x97 @ 'ù' @ R1 := 0x97 (Pokérus)
- RAM_ARM9:0201B258 00 22 MOVS R2, #0 @ R2 := 0
- RAM_ARM9:0201B25A FC F7 ED FD BL GetPkmStat
- RAM_ARM9:0201B25E 00 28 CMP R0, #0 @ Has Pokérus?
- RAM_ARM9:0201B260 04 D0 BEQ loc_201B26C
- RAM_ARM9:0201B262 01 20 MOVS R0, #1 @ R0:=1
- RAM_ARM9:0201B264 A0 40 LSLS R0, R4 @ R0<<=R4
- RAM_ARM9:0201B266 00 06 LSLS R0, R0, #0x18 @ R0<<=24
- RAM_ARM9:0201B268 00 0E LSRS R0, R0, #0x18 @ R0>>=24
- RAM_ARM9:0201B26A 05 43 ORRS R5, R0 @ R5 |= R0
- RAM_ARM9:0201B26C
- RAM_ARM9:0201B26C loc_201B26C: @ CODE XREF: PartyPkmWithPkrsBitmask+24j
- RAM_ARM9:0201B26C 64 1C ADDS R4, R4, #1 @ R4++
- RAM_ARM9:0201B26E B4 42 CMP R4, R6 @ R4 < R6?
- RAM_ARM9:0201B270 ED DB BLT loc_201B24E
- RAM_ARM9:0201B272
- RAM_ARM9:0201B272 loc_201B272: @ CODE XREF: PartyPkmWithPkrsBitmask+10j
- RAM_ARM9:0201B272 28 1C MOVS R0, R5 @ return R5
- RAM_ARM9:0201B274 F8 BD POP {R3-R7,PC}
- RAM_ARM9:0201B274 @ End of function PartyPkmWithPkrsBitmask
- RAM_ARM9:0201B274
- -------------------------------------------------------------------------------------------------
- RAM_ARM9:0201B23C @ =============== S U B R O U T I N E =======================================
- RAM_ARM9:0201B23C
- RAM_ARM9:0201B23C
- RAM_ARM9:0201B23C partyPKMWithPKRSBitmask__: @ CODE XREF: doPKRS__+1Ep
- RAM_ARM9:0201B23C F8 B5 PUSH {R3-R7,LR}
- RAM_ARM9:0201B23E 07 1C MOVS R7, R0 @ r0 to v4(as var)
- RAM_ARM9:0201B240 00 25 MOVS R5, #0 @ r5 = 0
- RAM_ARM9:0201B242 FF F7 F7 FB BL dereferencePointer4__
- RAM_ARM9:0201B246 06 1C MOVS R6, R0 @ r0 to v3 (as var)- counter
- RAM_ARM9:0201B248 00 24 MOVS R4, #0
- RAM_ARM9:0201B24A 00 2E CMP R6, #0 @ if(r6 == 0){return XX;}
- RAM_ARM9:0201B24A @
- 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}
- RAM_ARM9:0201B24C 11 DD BLE bank3
- RAM_ARM9:0201B24E
- RAM_ARM9:0201B24E bank1: @ CODE XREF: partyPKMWithPKRSBitmask__+34j
- RAM_ARM9:0201B24E 38 1C MOVS R0, R7 @ pCurrent
- RAM_ARM9:0201B250 21 1C MOVS R1, R4 @ partyPos
- RAM_ARM9:0201B252 FF F7 77 FC BL getNextPartyPKMAdr__
- RAM_ARM9:0201B256 97 21 MOVS R1, #0x97 @ 'ù' @ size
- RAM_ARM9:0201B258 00 22 MOVS R2, #0 @ c
- RAM_ARM9:0201B25A FC F7 ED FD BL getPKMStat__
- RAM_ARM9:0201B25E 00 28 CMP R0, #0 @ infected with pkrs (y/n)?
- RAM_ARM9:0201B260 04 D0 BEQ bank2 @ if not, skip the rest of the loop
- RAM_ARM9:0201B262 01 20 MOVS R0, #1 @ this should already be 1 if we're here
- RAM_ARM9:0201B264 A0 40 LSLS R0, R4 @ left-shift by current counter
- RAM_ARM9:0201B266 00 06 LSLS R0, R0, #0x18 @ this is (dumb)typecasting, u32 -> u8
- RAM_ARM9:0201B268 00 0E LSRS R0, R0, #0x18 @ rest of dumb typecasting
- RAM_ARM9:0201B26A 05 43 ORRS R5, R0
- RAM_ARM9:0201B26C
- RAM_ARM9:0201B26C bank2: @ CODE XREF: partyPKMWithPKRSBitmask__+24j
- RAM_ARM9:0201B26C 64 1C ADDS R4, R4, #1 @ counter++
- RAM_ARM9:0201B26E B4 42 CMP R4, R6 @ is i = counter_max? next iteration if not
- RAM_ARM9:0201B270 ED DB BLT bank1
- RAM_ARM9:0201B272
- RAM_ARM9:0201B272 bank3: @ CODE XREF: partyPKMWithPKRSBitmask__+10j
- RAM_ARM9:0201B272 28 1C MOVS R0, R5
- RAM_ARM9:0201B274 F8 BD POP {R3-R7,PC}
- RAM_ARM9:0201B274 @ End of function partyPKMWithPKRSBitmask__
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement