tmc/asm/non_matching/playerUtils/sub_0807BBE4.inc

80 lines
1.5 KiB
PHP

.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
ldr r0, _0807BC28 @ =gMetatileTypesBottom
mov sl, r0
ldr r0, _0807BC2C @ =gMetatileTypesTop
mov sb, r0
ldr r5, _0807BC30 @ =0xFFFFB000
add r5, sl
ldr r4, _0807BC30 @ =0xFFFFB000
add r4, sb
ldr r2, _0807BC34 @ =0xFFFFD000
add r2, sl
ldr r1, _0807BC34 @ =0xFFFFD000
add r1, sb
movs r3, #0
ldr r0, _0807BC38 @ =0x00003FFF
mov r8, r0
ldr r0, _0807BC3C @ =gUnk_080B3E80
mov ip, r0
ldr r7, _0807BC40 @ =gUnk_080B79A7
ldr r6, _0807BC44 @ =0xFFFFC000
_0807BC14:
ldrh r0, [r5]
adds r5, #2
cmp r0, r8
bhi _0807BC48
lsls r0, r0, #1
add r0, sl
ldrh r0, [r0]
add r0, ip
b _0807BC4C
.align 2, 0
_0807BC28: .4byte gMetatileTypesBottom
_0807BC2C: .4byte gMetatileTypesTop
_0807BC30: .4byte 0xFFFFB000
_0807BC34: .4byte 0xFFFFD000
_0807BC38: .4byte 0x00003FFF
_0807BC3C: .4byte gUnk_080B3E80
_0807BC40: .4byte gUnk_080B79A7
_0807BC44: .4byte 0xFFFFC000
_0807BC48:
adds r0, r0, r6
adds r0, r0, r7
_0807BC4C:
ldrb r0, [r0]
strb r0, [r2]
adds r2, #1
ldrh r0, [r4]
adds r4, #2
cmp r0, r8
bhi _0807BC64
lsls r0, r0, #1
add r0, sb
ldrh r0, [r0]
add r0, ip
b _0807BC68
_0807BC64:
adds r0, r0, r6
adds r0, r0, r7
_0807BC68:
ldrb r0, [r0]
strb r0, [r1]
adds r1, #1
adds r3, #1
ldr r0, _0807BC80 @ =0x00000FFF
cmp r3, r0
bls _0807BC14
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7, pc}
.align 2, 0
_0807BC80: .4byte 0x00000FFF
.syntax divided