mirror of
https://github.com/pret/pokeemerald-jp.git
synced 2026-09-26 13:32:49 -04:00
242 lines
4.0 KiB
ArmAsm
242 lines
4.0 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
.text
|
|
.syntax unified
|
|
|
|
thumb_func_start sub_081514A4
|
|
sub_081514A4: @ 0x081514A4
|
|
push {lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _081514B2
|
|
cmp r0, #1
|
|
beq _081514DC
|
|
_081514B2:
|
|
ldr r1, _081514D8
|
|
ldr r2, [r1]
|
|
movs r3, #0
|
|
movs r0, #2
|
|
strb r0, [r2, #0x1b]
|
|
ldr r0, [r1]
|
|
strb r3, [r0, #0x19]
|
|
ldr r2, [r1]
|
|
movs r0, #0x14
|
|
strb r0, [r2, #0x1a]
|
|
ldr r1, [r1]
|
|
movs r0, #0xc
|
|
strb r0, [r1, #0x18]
|
|
bl sub_08151064
|
|
bl sub_081511F0
|
|
b _081514FE
|
|
.align 2, 0
|
|
_081514D8: .4byte 0x0203A878
|
|
_081514DC:
|
|
ldr r1, _0815150C
|
|
ldr r2, [r1]
|
|
movs r0, #2
|
|
strb r0, [r2, #0x1b]
|
|
ldr r2, [r1]
|
|
movs r0, #0x1c
|
|
strb r0, [r2, #0x19]
|
|
ldr r2, [r1]
|
|
movs r0, #0x14
|
|
strb r0, [r2, #0x1a]
|
|
ldr r1, [r1]
|
|
movs r0, #4
|
|
strb r0, [r1, #0x18]
|
|
bl sub_08151064
|
|
bl sub_08151364
|
|
_081514FE:
|
|
ldr r0, _0815150C
|
|
ldr r1, [r0]
|
|
movs r0, #0
|
|
strb r0, [r1, #0x1c]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0815150C: .4byte 0x0203A878
|
|
thumb_func_end sub_081514A4
|
|
|
|
thumb_func_start sub_08151510
|
|
sub_08151510: @ 0x08151510
|
|
push {lr}
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
lsls r1, r1, #0x10
|
|
asrs r1, r1, #0x10
|
|
muls r0, r1, r0
|
|
adds r1, r0, #0
|
|
cmp r0, #0
|
|
bge _08151524
|
|
adds r1, #0xff
|
|
_08151524:
|
|
lsls r0, r1, #8
|
|
asrs r0, r0, #0x10
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_08151510
|
|
|
|
thumb_func_start sub_0815152C
|
|
sub_0815152C: @ 0x0815152C
|
|
push {lr}
|
|
adds r3, r1, #0
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
lsls r3, r3, #0x10
|
|
asrs r3, r3, #0x10
|
|
lsls r2, r2, #0x10
|
|
asrs r2, r2, #0x10
|
|
muls r3, r2, r3
|
|
movs r1, #1
|
|
lsls r1, r0
|
|
adds r0, r3, #0
|
|
bl __divsi3
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_0815152C
|
|
|
|
thumb_func_start sub_08151550
|
|
sub_08151550: @ 0x08151550
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r2, r1, #0
|
|
adds r4, r0, #0
|
|
asrs r5, r0, #0x1f
|
|
asrs r3, r2, #0x1f
|
|
adds r1, r5, #0
|
|
adds r0, r4, #0
|
|
bl __muldi3
|
|
adds r5, r1, #0
|
|
adds r4, r0, #0
|
|
adds r7, r5, #0
|
|
adds r6, r4, #0
|
|
cmp r5, #0
|
|
bge _08151576
|
|
movs r6, #0xff
|
|
movs r7, #0
|
|
adds r6, r6, r4
|
|
adcs r7, r5
|
|
_08151576:
|
|
lsls r3, r7, #0x18
|
|
lsrs r2, r6, #8
|
|
adds r0, r3, #0
|
|
orrs r0, r2
|
|
asrs r1, r7, #8
|
|
adds r5, r1, #0
|
|
adds r4, r0, #0
|
|
adds r0, r4, #0
|
|
pop {r4, r5, r6, r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_08151550
|
|
|
|
thumb_func_start sub_0815158C
|
|
sub_0815158C: @ 0x0815158C
|
|
push {lr}
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
lsls r1, r1, #0x10
|
|
asrs r1, r1, #0x10
|
|
cmp r1, #0
|
|
beq _081515A8
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #8
|
|
bl __divsi3
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
b _081515AA
|
|
_081515A8:
|
|
movs r0, #0
|
|
_081515AA:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end sub_0815158C
|
|
|
|
thumb_func_start sub_081515B0
|
|
sub_081515B0: @ 0x081515B0
|
|
push {lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r3, r0, #0x18
|
|
lsls r1, r1, #0x10
|
|
lsrs r0, r1, #0x10
|
|
lsls r2, r2, #0x10
|
|
asrs r1, r2, #0x10
|
|
cmp r1, #0
|
|
beq _081515D2
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
lsls r0, r3
|
|
bl __divsi3
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
b _081515D4
|
|
_081515D2:
|
|
movs r0, #0
|
|
_081515D4:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_081515B0
|
|
|
|
thumb_func_start sub_081515D8
|
|
sub_081515D8: @ 0x081515D8
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r1, #0
|
|
cmp r6, #0
|
|
beq _081515F8
|
|
adds r2, r0, #0
|
|
asrs r3, r0, #0x1f
|
|
lsrs r5, r2, #0x18
|
|
lsls r4, r3, #8
|
|
adds r1, r5, #0
|
|
orrs r1, r4
|
|
lsls r0, r2, #8
|
|
adds r2, r6, #0
|
|
asrs r3, r6, #0x1f
|
|
bl __divdi3
|
|
b _081515FA
|
|
_081515F8:
|
|
movs r0, #0
|
|
_081515FA:
|
|
pop {r4, r5, r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_081515D8
|
|
|
|
thumb_func_start sub_08151600
|
|
sub_08151600: @ 0x08151600
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
movs r0, #0x80
|
|
lsls r0, r0, #9
|
|
lsls r1, r1, #0x10
|
|
asrs r1, r1, #0x10
|
|
bl __divsi3
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_08151600
|
|
|
|
thumb_func_start sub_08151618
|
|
sub_08151618: @ 0x08151618
|
|
push {lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
movs r2, #0x80
|
|
lsls r2, r2, #1
|
|
lsls r2, r0
|
|
lsls r1, r1, #0x10
|
|
asrs r1, r1, #0x10
|
|
adds r0, r2, #0
|
|
bl __divsi3
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end sub_08151618
|
|
|