pokeemerald/asm/landmark.s
2016-11-01 10:16:34 -07:00

129 lines
1.8 KiB
ArmAsm

.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_8145CF4
sub_8145CF4: @ 8145CF4
push {r4-r6,lr}
lsls r0, 24
lsrs r0, 24
lsls r1, 24
lsrs r1, 24
lsls r2, 24
lsrs r5, r2, 24
bl sub_8145D48
adds r4, r0, 0
cmp r4, 0
bne _08145D10
_08145D0C:
movs r0, 0
b _08145D42
_08145D10:
ldr r6, =0x0000ffff
b _08145D26
.pool
_08145D18:
subs r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
_08145D1E:
adds r4, 0x4
ldr r0, [r4]
cmp r0, 0
beq _08145D0C
_08145D26:
ldr r1, [r4]
ldrh r0, [r1, 0x4]
cmp r0, r6
beq _08145D3A
bl FlagGet
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08145D1E
_08145D3A:
cmp r5, 0
bne _08145D18
ldr r0, [r4]
ldr r0, [r0]
_08145D42:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_8145CF4
thumb_func_start sub_8145D48
sub_8145D48: @ 8145D48
push {r4-r6,lr}
lsls r0, 24
lsrs r3, r0, 24
lsls r1, 24
lsrs r6, r1, 24
movs r2, 0
ldr r0, =gUnknown_085B91B8
ldrb r1, [r0]
adds r4, r0, 0
cmp r1, 0xD5
beq _08145DB8
adds r1, r4, 0
_08145D60:
lsls r0, r2, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, r3
bhi _08145DB8
cmp r0, r3
beq _08145D7E
adds r0, r2, 0x1
lsls r0, 16
lsrs r2, r0, 16
lsls r0, r2, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, 0xD5
bne _08145D60
_08145D7E:
lsls r0, r2, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, 0xD5
bne _08145D98
b _08145DB8
.pool
_08145D90:
adds r0, r4, 0x4
adds r0, r1, r0
ldr r0, [r0]
b _08145DBA
_08145D98:
cmp r0, r3
bne _08145DB8
ldr r5, =gUnknown_085B91B8
_08145D9E:
lsls r1, r2, 3
adds r0, r1, r5
ldrb r0, [r0, 0x1]
cmp r0, r6
beq _08145D90
adds r0, r2, 0x1
lsls r0, 16
lsrs r2, r0, 16
lsls r0, r2, 3
adds r0, r4
ldrb r0, [r0]
cmp r0, r3
beq _08145D9E
_08145DB8:
movs r0, 0
_08145DBA:
pop {r4-r6}
pop {r1}
bx r1
.pool
thumb_func_end sub_8145D48
.align 2, 0 @ Don't pad with nop.