pmd-red/asm/moves_1.s
2023-01-12 22:11:35 +01:00

788 lines
11 KiB
ArmAsm

#include "asm/constants/gba_constants.inc"
#include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_8092D80
sub_8092D80:
push {r4,r5,lr}
adds r3, r1, 0
movs r5, 0
lsls r1, r3, 3
adds r1, r0
_08092D8A:
adds r1, 0x8
adds r3, 0x1
cmp r3, 0x4
beq _08092DB0
ldrb r2, [r1]
movs r4, 0x1
adds r0, r4, 0
ands r0, r2
cmp r0, 0
beq _08092DB0
lsrs r0, r2, 1
ands r0, r4
cmp r0, 0
bne _08092DAA
adds r0, r3, 0
b _08092DB2
_08092DAA:
adds r5, 0x1
cmp r5, 0x3
ble _08092D8A
_08092DB0:
movs r0, 0
_08092DB2:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8092D80
thumb_func_start sub_8092DB8
sub_8092DB8:
push {r4-r6,lr}
adds r4, r0, 0
movs r5, 0
movs r6, 0x1
_08092DC0:
subs r1, 0x1
cmp r1, 0
bge _08092DF0
movs r2, 0x3
ldrb r1, [r4, 0x18]
adds r0, r6, 0
ands r0, r1
cmp r0, 0
beq _08092DD6
movs r1, 0x3
b _08092DEC
_08092DD6:
subs r2, 0x1
cmp r2, 0
blt _08092E12
lsls r0, r2, 3
adds r0, r4
ldrb r1, [r0]
adds r0, r6, 0
ands r0, r1
cmp r0, 0
beq _08092DD6
adds r1, r2, 0
_08092DEC:
cmp r2, 0
blt _08092E12
_08092DF0:
lsls r0, r1, 3
adds r0, r4
ldrb r2, [r0]
movs r3, 0x1
adds r0, r3, 0
ands r0, r2
cmp r0, 0
beq _08092E12
lsrs r0, r2, 1
ands r0, r3
cmp r0, 0
bne _08092E0C
adds r0, r1, 0
b _08092E14
_08092E0C:
adds r5, 0x1
cmp r5, 0x3
ble _08092DC0
_08092E12:
movs r0, 0
_08092E14:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_8092DB8
thumb_func_start sub_8092E1C
sub_8092E1C:
push {r4,r5,lr}
adds r3, r1, 0
movs r5, 0
lsls r1, r3, 3
adds r1, r0
_08092E26:
adds r1, 0x8
adds r3, 0x1
cmp r3, 0x8
beq _08092E4C
ldrb r2, [r1]
movs r4, 0x1
adds r0, r4, 0
ands r0, r2
cmp r0, 0
beq _08092E4C
lsrs r0, r2, 1
ands r0, r4
cmp r0, 0
bne _08092E46
adds r0, r3, 0
b _08092E4E
_08092E46:
adds r5, 0x1
cmp r5, 0x7
ble _08092E26
_08092E4C:
movs r0, 0
_08092E4E:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8092E1C
thumb_func_start sub_8092E54
sub_8092E54:
push {r4,r5,lr}
adds r3, r1, 0
movs r5, 0
lsls r1, r3, 3
adds r1, r0
_08092E5E:
adds r1, 0x8
adds r3, 0x1
cmp r3, 0x8
beq _08092E84
ldrb r2, [r1]
movs r4, 0x1
adds r0, r4, 0
ands r0, r2
cmp r0, 0
beq _08092E84
lsrs r0, r2, 1
ands r0, r4
cmp r0, 0
bne _08092E7E
adds r0, r3, 0
b _08092E86
_08092E7E:
adds r5, 0x1
cmp r5, 0x7
ble _08092E5E
_08092E84:
movs r0, 0
_08092E86:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8092E54
thumb_func_start sub_8092E8C
sub_8092E8C:
push {r4-r6,lr}
adds r6, r0, 0
movs r5, 0
lsls r0, r1, 3
adds r3, r0, r6
_08092E96:
subs r3, 0x8
subs r1, 0x1
cmp r1, 0
bge _08092EC6
movs r3, 0x7
movs r4, 0x1
adds r2, r6, 0
adds r2, 0x38
_08092EA6:
ldrb r1, [r2]
adds r0, r4, 0
ands r0, r1
cmp r0, 0
beq _08092EBC
lsrs r0, r1, 1
ands r0, r4
cmp r0, 0
bne _08092EBC
adds r0, r3, 0
b _08092EE6
_08092EBC:
subs r2, 0x8
subs r3, 0x1
cmp r3, 0
bgt _08092EA6
b _08092EE4
_08092EC6:
ldrb r2, [r3]
movs r4, 0x1
adds r0, r4, 0
ands r0, r2
cmp r0, 0
beq _08092EE4
lsrs r0, r2, 1
ands r0, r4
cmp r0, 0
bne _08092EDE
adds r0, r1, 0
b _08092EE6
_08092EDE:
adds r5, 0x1
cmp r5, 0x7
ble _08092E96
_08092EE4:
movs r0, 0
_08092EE6:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_8092E8C
thumb_func_start sub_8092EEC
sub_8092EEC:
push {r4-r6,lr}
adds r6, r0, 0
movs r5, 0
lsls r0, r1, 3
adds r3, r0, r6
_08092EF6:
subs r3, 0x8
subs r1, 0x1
cmp r1, 0
bge _08092F26
movs r3, 0x7
movs r4, 0x1
adds r2, r6, 0
adds r2, 0x38
_08092F06:
ldrb r1, [r2]
adds r0, r4, 0
ands r0, r1
cmp r0, 0
beq _08092F1C
lsrs r0, r1, 1
ands r0, r4
cmp r0, 0
bne _08092F1C
adds r0, r3, 0
b _08092F46
_08092F1C:
subs r2, 0x8
subs r3, 0x1
cmp r3, 0
bgt _08092F06
b _08092F44
_08092F26:
ldrb r2, [r3]
movs r4, 0x1
adds r0, r4, 0
ands r0, r2
cmp r0, 0
beq _08092F44
lsrs r0, r2, 1
ands r0, r4
cmp r0, 0
bne _08092F3E
adds r0, r1, 0
b _08092F46
_08092F3E:
adds r5, 0x1
cmp r5, 0x7
ble _08092EF6
_08092F44:
movs r0, 0
_08092F46:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_8092EEC
thumb_func_start sub_8092F4C
sub_8092F4C:
push {r4,lr}
adds r2, r0, 0
cmp r1, 0
ble _08092F78
movs r4, 0x1
lsls r0, r1, 3
adds r3, r0, r2
_08092F5A:
ldrb r2, [r3]
adds r0, r4, 0
ands r0, r2
cmp r0, 0
beq _08092F78
lsrs r0, r2, 1
ands r0, r4
cmp r0, 0
bne _08092F70
adds r0, r1, 0
b _08092F7A
_08092F70:
subs r3, 0x8
subs r1, 0x1
cmp r1, 0
bgt _08092F5A
_08092F78:
movs r0, 0
_08092F7A:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8092F4C
thumb_func_start sub_8092F80
sub_8092F80:
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x80
adds r7, r0, 0
mov r8, r1
lsls r0, r1, 3
adds r0, r7, r0
ldrb r2, [r0]
movs r1, 0x80
orrs r1, r2
strb r1, [r0]
adds r0, r7, 0
mov r1, sp
bl sub_8093784
mov r0, sp
bl sub_8093744
adds r3, r0, 0
cmp r3, 0x2
bhi _08092FCC
lsls r1, r3, 5
adds r0, r3, 0x1
lsls r0, 5
mov r2, sp
adds r5, r0, r2
adds r4, r1, r2
movs r6, 0x3
_08092FBA:
ldr r2, [r4]
ldr r3, [r4, 0x4]
ldr r0, [r5]
ldr r1, [r5, 0x4]
stm r4!, {r0,r1}
stm r5!, {r2,r3}
subs r6, 0x1
cmp r6, 0
bge _08092FBA
_08092FCC:
adds r0, r7, 0
mov r1, sp
bl sub_80937E0
movs r3, 0
movs r5, 0x80
movs r4, 0x7F
adds r1, r7, 0
_08092FDC:
ldrb r2, [r1]
adds r0, r5, 0
ands r0, r2
cmp r0, 0
beq _08092FF0
adds r0, r4, 0
ands r0, r2
strb r0, [r1]
mov r8, r3
b _08092FF8
_08092FF0:
adds r1, 0x8
adds r3, 0x1
cmp r3, 0x3
ble _08092FDC
_08092FF8:
mov r0, r8
add sp, 0x80
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8092F80
thumb_func_start sub_8093008
sub_8093008:
push {r4-r7,lr}
mov r7, r8
push {r7}
ldr r4, _0809307C
add sp, r4
adds r7, r0, 0
mov r8, r1
lsls r0, r1, 3
adds r0, r7, r0
ldrb r2, [r0]
movs r1, 0x80
orrs r1, r2
strb r1, [r0]
adds r0, r7, 0
mov r1, sp
bl sub_8093974
mov r0, sp
bl sub_80938F4
adds r3, r0, 0
cmp r3, 0x6
bhi _08093056
lsls r1, r3, 6
adds r0, r3, 0x1
lsls r0, 6
mov r2, sp
adds r5, r0, r2
adds r4, r1, r2
movs r6, 0x7
_08093044:
ldr r2, [r4]
ldr r3, [r4, 0x4]
ldr r0, [r5]
ldr r1, [r5, 0x4]
stm r4!, {r0,r1}
stm r5!, {r2,r3}
subs r6, 0x1
cmp r6, 0
bge _08093044
_08093056:
adds r0, r7, 0
mov r1, sp
bl sub_8093A2C
movs r3, 0
movs r5, 0x80
movs r4, 0x7F
adds r1, r7, 0
_08093066:
ldrb r2, [r1]
adds r0, r5, 0
ands r0, r2
cmp r0, 0
beq _08093080
adds r0, r4, 0
ands r0, r2
strb r0, [r1]
mov r8, r3
b _08093088
.align 2, 0
_0809307C: .4byte 0xfffffe00
_08093080:
adds r1, 0x8
adds r3, 0x1
cmp r3, 0x7
ble _08093066
_08093088:
mov r0, r8
movs r3, 0x80
lsls r3, 2
add sp, r3
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8093008
thumb_func_start sub_809309C
sub_809309C:
push {r4-r7,lr}
mov r7, r8
push {r7}
ldr r4, _08093110
add sp, r4
adds r7, r0, 0
mov r8, r1
lsls r0, r1, 3
adds r0, r7, r0
ldrb r2, [r0]
movs r1, 0x80
orrs r1, r2
strb r1, [r0]
adds r0, r7, 0
mov r1, sp
bl sub_80939D0
mov r0, sp
bl sub_8093934
adds r3, r0, 0
cmp r3, 0x6
bhi _080930EA
lsls r1, r3, 6
adds r0, r3, 0x1
lsls r0, 6
mov r2, sp
adds r5, r0, r2
adds r4, r1, r2
movs r6, 0x7
_080930D8:
ldr r2, [r4]
ldr r3, [r4, 0x4]
ldr r0, [r5]
ldr r1, [r5, 0x4]
stm r4!, {r0,r1}
stm r5!, {r2,r3}
subs r6, 0x1
cmp r6, 0
bge _080930D8
_080930EA:
adds r0, r7, 0
mov r1, sp
bl sub_8093B40
movs r3, 0
movs r5, 0x80
movs r4, 0x7F
adds r1, r7, 0
_080930FA:
ldrb r2, [r1]
adds r0, r5, 0
ands r0, r2
cmp r0, 0
beq _08093114
adds r0, r4, 0
ands r0, r2
strb r0, [r1]
mov r8, r3
b _0809311C
.align 2, 0
_08093110: .4byte 0xfffffe00
_08093114:
adds r1, 0x8
adds r3, 0x1
cmp r3, 0x7
ble _080930FA
_0809311C:
mov r0, r8
movs r3, 0x80
lsls r3, 2
add sp, r3
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_809309C
thumb_func_start sub_8093130
sub_8093130:
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x80
adds r7, r0, 0
mov r8, r1
lsls r0, r1, 3
adds r0, r7, r0
ldrb r2, [r0]
movs r1, 0x80
orrs r1, r2
strb r1, [r0]
adds r0, r7, 0
mov r1, sp
bl sub_8093784
mov r0, sp
bl sub_8093744
adds r1, r0, 0
subs r0, r1, 0x1
cmp r0, 0x2
bhi _0809317C
lsls r1, 5
lsls r0, 5
mov r2, sp
adds r5, r0, r2
adds r4, r1, r2
movs r6, 0x3
_0809316A:
ldr r2, [r4]
ldr r3, [r4, 0x4]
ldr r0, [r5]
ldr r1, [r5, 0x4]
stm r4!, {r0,r1}
stm r5!, {r2,r3}
subs r6, 0x1
cmp r6, 0
bge _0809316A
_0809317C:
adds r0, r7, 0
mov r1, sp
bl sub_80937E0
movs r1, 0
movs r5, 0x80
movs r4, 0x7F
adds r2, r7, 0
_0809318C:
ldrb r3, [r2]
adds r0, r5, 0
ands r0, r3
cmp r0, 0
beq _080931A0
adds r0, r4, 0
ands r0, r3
strb r0, [r2]
mov r8, r1
b _080931A8
_080931A0:
adds r2, 0x8
adds r1, 0x1
cmp r1, 0x3
ble _0809318C
_080931A8:
mov r0, r8
add sp, 0x80
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8093130
thumb_func_start sub_80931B8
sub_80931B8:
push {r4-r7,lr}
mov r7, r8
push {r7}
ldr r4, _0809322C
add sp, r4
adds r7, r0, 0
mov r8, r1
lsls r0, r1, 3
adds r0, r7, r0
ldrb r2, [r0]
movs r1, 0x80
orrs r1, r2
strb r1, [r0]
adds r0, r7, 0
mov r1, sp
bl sub_8093974
mov r0, sp
bl sub_80938F4
adds r1, r0, 0
subs r0, r1, 0x1
cmp r0, 0x6
bhi _08093206
lsls r1, 6
lsls r0, 6
mov r2, sp
adds r5, r0, r2
adds r4, r1, r2
movs r6, 0x7
_080931F4:
ldr r2, [r4]
ldr r3, [r4, 0x4]
ldr r0, [r5]
ldr r1, [r5, 0x4]
stm r4!, {r0,r1}
stm r5!, {r2,r3}
subs r6, 0x1
cmp r6, 0
bge _080931F4
_08093206:
adds r0, r7, 0
mov r1, sp
bl sub_8093A2C
movs r1, 0
movs r5, 0x80
movs r4, 0x7F
adds r2, r7, 0
_08093216:
ldrb r3, [r2]
adds r0, r5, 0
ands r0, r3
cmp r0, 0
beq _08093230
adds r0, r4, 0
ands r0, r3
strb r0, [r2]
mov r8, r1
b _08093238
.align 2, 0
_0809322C: .4byte 0xfffffe00
_08093230:
adds r2, 0x8
adds r1, 0x1
cmp r1, 0x7
ble _08093216
_08093238:
mov r0, r8
movs r3, 0x80
lsls r3, 2
add sp, r3
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_80931B8
thumb_func_start sub_809324C
sub_809324C:
push {r4-r7,lr}
mov r7, r8
push {r7}
ldr r4, _080932C0
add sp, r4
adds r7, r0, 0
mov r8, r1
lsls r0, r1, 3
adds r0, r7, r0
ldrb r2, [r0]
movs r1, 0x80
orrs r1, r2
strb r1, [r0]
adds r0, r7, 0
mov r1, sp
bl sub_80939D0
mov r0, sp
bl sub_8093934
adds r1, r0, 0
subs r0, r1, 0x1
cmp r0, 0x6
bhi _0809329A
lsls r1, 6
lsls r0, 6
mov r2, sp
adds r5, r0, r2
adds r4, r1, r2
movs r6, 0x7
_08093288:
ldr r2, [r4]
ldr r3, [r4, 0x4]
ldr r0, [r5]
ldr r1, [r5, 0x4]
stm r4!, {r0,r1}
stm r5!, {r2,r3}
subs r6, 0x1
cmp r6, 0
bge _08093288
_0809329A:
adds r0, r7, 0
mov r1, sp
bl sub_8093B40
movs r1, 0
movs r5, 0x80
movs r4, 0x7F
adds r2, r7, 0
_080932AA:
ldrb r3, [r2]
adds r0, r5, 0
ands r0, r3
cmp r0, 0
beq _080932C4
adds r0, r4, 0
ands r0, r3
strb r0, [r2]
mov r8, r1
b _080932CC
.align 2, 0
_080932C0: .4byte 0xfffffe00
_080932C4:
adds r2, 0x8
adds r1, 0x1
cmp r1, 0x7
ble _080932AA
_080932CC:
mov r0, r8
movs r3, 0x80
lsls r3, 2
add sp, r3
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_809324C
.align 2,0