tmc/asm/non_matching/v1EyeLaser/sub_080AB758.inc

124 lines
1.9 KiB
PHP

.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
sub sp, #4
adds r5, r0, #0
movs r6, #6
movs r7, #0
movs r4, #0
movs r0, #0x32
ldrsh r2, [r5, r0]
ldr r1, _080AB818 @ =gRoomControls
ldrh r0, [r1, #8]
adds r0, #0xd4
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
mov r8, r1
cmp r2, r0
bhi _080AB7B4
movs r3, #7
_080AB77E:
adds r0, r4, #0
ands r0, r3
cmp r0, #7
bne _080AB798
adds r0, r5, #0
movs r1, #4
adds r2, r6, #0
str r3, [sp]
bl sub_080AB844
adds r6, #0x3e
adds r7, #0x3e
ldr r3, [sp]
_080AB798:
adds r4, #1
ands r4, r3
movs r1, #0x32
ldrsh r0, [r5, r1]
adds r0, r0, r7
lsls r1, r4, #3
adds r2, r0, r1
ldr r0, _080AB818 @ =gRoomControls
ldrh r0, [r0, #8]
adds r0, #0xd4
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
cmp r2, r0
bls _080AB77E
_080AB7B4:
movs r4, #0
movs r1, #0x32
ldrsh r0, [r5, r1]
adds r2, r0, r7
mov r1, r8
ldrh r0, [r1, #8]
adds r0, #0xd4
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
cmp r2, r0
bhi _080AB802
movs r3, #3
_080AB7CC:
adds r0, r4, #0
ands r0, r3
cmp r0, #3
bne _080AB7E6
adds r0, r5, #0
movs r1, #3
adds r2, r6, #0
str r3, [sp]
bl sub_080AB844
adds r6, #0x1e
adds r7, #0x1e
ldr r3, [sp]
_080AB7E6:
adds r4, #1
ands r4, r3
movs r1, #0x32
ldrsh r0, [r5, r1]
adds r0, r0, r7
lsls r1, r4, #3
adds r2, r0, r1
ldr r0, _080AB818 @ =gRoomControls
ldrh r0, [r0, #8]
adds r0, #0xd4
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
cmp r2, r0
bls _080AB7CC
_080AB802:
movs r0, #2
ands r0, r4
cmp r0, #0
beq _080AB81C
adds r0, r5, #0
movs r1, #2
adds r2, r6, #0
bl sub_080AB844
adds r6, #0xe
b _080AB830
.align 2, 0
_080AB818: .4byte gRoomControls
_080AB81C:
movs r0, #1
ands r4, r0
cmp r4, #0
beq _080AB830
adds r0, r5, #0
movs r1, #1
adds r2, r6, #0
bl sub_080AB844
adds r6, #6
_080AB830:
adds r0, r5, #0
movs r1, #6
adds r2, r6, #0
bl sub_080AB844
add sp, #4
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
.syntax divided