summaryrefslogtreecommitdiff
path: root/asm/string_util.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/string_util.s')
-rw-r--r--asm/string_util.s1372
1 files changed, 0 insertions, 1372 deletions
diff --git a/asm/string_util.s b/asm/string_util.s
deleted file mode 100644
index 2d5ade7aa..000000000
--- a/asm/string_util.s
+++ /dev/null
@@ -1,1372 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CopyString_Limit10
-@ u8 *CopyString_Limit10(u8 *dest, u8 *src)
-CopyString_Limit10: @ 8008B10
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0xA
- movs r3, 0
-_08008B18:
- adds r2, r4, r3
- adds r0, r1, r3
- ldrb r0, [r0]
- strb r0, [r2]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _08008B2C
- adds r0, r2, 0
- b _08008B3C
-_08008B2C:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r5
- bcc _08008B18
- adds r0, r4, r3
- movs r1, 0xFF
- strb r1, [r0]
-_08008B3C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CopyString_Limit10
-
- thumb_func_start GetStringEnd_Limit7
-@ u8 *GetStringEnd_Limit7(u8 *s)
-GetStringEnd_Limit7: @ 8008B44
- push {r4,lr}
- adds r3, r0, 0
- movs r4, 0xA
- movs r2, 0
-_08008B4C:
- adds r1, r3, r2
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _08008B58
- adds r0, r1, 0
- b _08008B68
-_08008B58:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r4
- bcc _08008B4C
- adds r0, r3, r2
- movs r1, 0xFF
- strb r1, [r0]
-_08008B68:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end GetStringEnd_Limit7
-
- thumb_func_start CopyString_Limit7
-@ u8 *CopyString_Limit7(u8 *dest, u8 *src)
-CopyString_Limit7: @ 8008B70
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0x7
- movs r3, 0
-_08008B78:
- adds r2, r4, r3
- adds r0, r1, r3
- ldrb r0, [r0]
- strb r0, [r2]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _08008B8C
- adds r0, r2, 0
- b _08008B98
-_08008B8C:
- adds r3, 0x1
- cmp r3, r5
- blt _08008B78
- adds r0, r4, r3
- movs r1, 0xFF
- strb r1, [r0]
-_08008B98:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CopyString_Limit7
-
- thumb_func_start CopyString
-@ u8 *CopyString(u8 *dest, u8 *src)
-CopyString: @ 8008BA0
- push {lr}
- adds r3, r0, 0
- b _08008BAC
-_08008BA6:
- strb r2, [r3]
- adds r3, 0x1
- adds r1, 0x1
-_08008BAC:
- ldrb r2, [r1]
- adds r0, r2, 0
- cmp r0, 0xFF
- bne _08008BA6
- movs r0, 0xFF
- strb r0, [r3]
- adds r0, r3, 0
- pop {r1}
- bx r1
- thumb_func_end CopyString
-
- thumb_func_start AppendString
-@ u8 *AppendString(u8 *dest, u8 *src)
-AppendString: @ 8008BC0
- push {lr}
- adds r2, r0, 0
- b _08008BC8
-_08008BC6:
- adds r2, 0x1
-_08008BC8:
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _08008BC6
- adds r0, r2, 0
- bl CopyString
- pop {r1}
- bx r1
- thumb_func_end AppendString
-
- thumb_func_start CopyString_LimitN
-@ u8 *CopyString_LimitN(u8 *dest, u8 *src, u8 n)
-CopyString_LimitN: @ 8008BD8
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r5, r2, 24
- movs r3, 0
- adds r0, r5, 0
- cmp r3, r0
- bcs _08008BFE
- adds r2, r0, 0
-_08008BEC:
- adds r1, r4, r3
- adds r0, r6, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r2
- bcc _08008BEC
-_08008BFE:
- adds r0, r4, r5
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CopyString_LimitN
-
- thumb_func_start AppendString_LimitN
-@ u8 *AppendString_LimitN(u8 *dest, u8 *src, u8 n)
-AppendString_LimitN: @ 8008C08
- push {lr}
- adds r3, r0, 0
- lsls r2, 24
- lsrs r2, 24
- b _08008C14
-_08008C12:
- adds r3, 0x1
-_08008C14:
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _08008C12
- adds r0, r3, 0
- bl CopyString_LimitN
- pop {r1}
- bx r1
- thumb_func_end AppendString_LimitN
-
- thumb_func_start GetStringLength
-@ u16 GetStringLength(u8 *s)
-GetStringLength: @ 8008C24
- push {lr}
- adds r2, r0, 0
- movs r1, 0
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _08008C3E
-_08008C30:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08008C30
-_08008C3E:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end GetStringLength
-
- thumb_func_start CompareString
-@ u8 CompareString(u8 *s1, u8 *s2)
-CompareString: @ 8008C44
- push {lr}
- adds r2, r0, 0
- b _08008C56
-_08008C4A:
- cmp r0, 0xFF
- bne _08008C52
- movs r0, 0
- b _08008C64
-_08008C52:
- adds r2, 0x1
- adds r1, 0x1
-_08008C56:
- ldrb r0, [r2]
- ldrb r3, [r1]
- cmp r0, r3
- beq _08008C4A
- ldrb r0, [r2]
- ldrb r1, [r1]
- subs r0, r1
-_08008C64:
- pop {r1}
- bx r1
- thumb_func_end CompareString
-
- thumb_func_start CompareString_LimitN
-@ u8 CompareString_LimitN(u8 *s1, u8 *s2, u32 n)
-CompareString_LimitN: @ 8008C68
- push {r4,lr}
- adds r3, r0, 0
- b _08008C80
-_08008C6E:
- cmp r0, 0xFF
- beq _08008C7C
- adds r3, 0x1
- adds r1, 0x1
- subs r2, 0x1
- cmp r2, 0
- bne _08008C80
-_08008C7C:
- movs r0, 0
- b _08008C8E
-_08008C80:
- ldrb r0, [r3]
- ldrb r4, [r1]
- cmp r0, r4
- beq _08008C6E
- ldrb r0, [r3]
- ldrb r1, [r1]
- subs r0, r1
-_08008C8E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end CompareString_LimitN
-
- thumb_func_start IsStringLengthLessThanN
-@ bool8 IsStringLengthLessThanN(u8 *s, s32 n)
-IsStringLengthLessThanN: @ 8008C94
- push {lr}
- adds r3, r0, 0
- movs r2, 0
- cmp r2, r1
- bge _08008CB8
-_08008C9E:
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08008CAE
- cmp r0, 0xFF
- beq _08008CAE
- movs r0, 0x1
- b _08008CBA
-_08008CAE:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r1
- blt _08008C9E
-_08008CB8:
- movs r0, 0
-_08008CBA:
- pop {r1}
- bx r1
- thumb_func_end IsStringLengthLessThanN
-
- thumb_func_start ConvertIntToDecimalString
-@ u8 *ConvertIntToDecimalString(u8 *dest, s32 value, u8 mode, u8 numDigits)
-ConvertIntToDecimalString: @ 8008CC0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r3, 24
- ldr r0, =gPowersOfTen
- lsrs r3, 22
- subs r3, 0x4
- adds r3, r0
- ldr r0, [r3]
- movs r7, 0
- cmp r2, 0x1
- bne _08008CDE
- movs r7, 0x2
-_08008CDE:
- cmp r2, 0x2
- bne _08008CE4
- movs r7, 0x1
-_08008CE4:
- adds r5, r0, 0
- cmp r5, 0
- ble _08008D60
- ldr r0, =gDigits
- mov r8, r0
-_08008CEE:
- adds r0, r6, 0
- adds r1, r5, 0
- bl __divsi3
- lsls r0, 16
- lsrs r2, r0, 16
- adds r3, r2, 0
- adds r0, r5, 0
- muls r0, r2
- subs r1, r6, r0
- cmp r7, 0x1
- bne _08008D26
- adds r3, r4, 0
- adds r4, 0x1
- cmp r2, 0x9
- bhi _08008D20
- mov r6, r8
- adds r0, r2, r6
- ldrb r0, [r0]
- b _08008D22
- .pool
-_08008D20:
- movs r0, 0xAC
-_08008D22:
- strb r0, [r3]
- b _08008D50
-_08008D26:
- cmp r2, 0
- bne _08008D2E
- cmp r5, 0x1
- bne _08008D46
-_08008D2E:
- movs r7, 0x1
- adds r2, r4, 0
- adds r4, 0x1
- cmp r3, 0x9
- bhi _08008D40
- mov r6, r8
- adds r0, r3, r6
- ldrb r0, [r0]
- b _08008D42
-_08008D40:
- movs r0, 0xAC
-_08008D42:
- strb r0, [r2]
- b _08008D50
-_08008D46:
- cmp r7, 0x2
- bne _08008D50
- movs r0, 0x77
- strb r0, [r4]
- adds r4, 0x1
-_08008D50:
- adds r6, r1, 0
- adds r0, r5, 0
- movs r1, 0xA
- bl __divsi3
- adds r5, r0, 0
- cmp r5, 0
- bgt _08008CEE
-_08008D60:
- movs r0, 0xFF
- strb r0, [r4]
- adds r0, r4, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ConvertIntToDecimalString
-
- thumb_func_start ConvertUnsignedIntToDecimalString
-@ u8 *ConvertUnsignedIntToDecimalString(u8 *dest, u32 value, u8 mode, u8 numDigits)
-ConvertUnsignedIntToDecimalString: @ 8008D70
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r3, 24
- ldr r0, =gPowersOfTen
- lsrs r3, 22
- subs r3, 0x4
- adds r3, r0
- ldr r0, [r3]
- movs r7, 0
- cmp r2, 0x1
- bne _08008D8E
- movs r7, 0x2
-_08008D8E:
- cmp r2, 0x2
- bne _08008D94
- movs r7, 0x1
-_08008D94:
- adds r5, r0, 0
- cmp r5, 0
- ble _08008E10
- ldr r0, =gDigits
- mov r8, r0
-_08008D9E:
- adds r0, r6, 0
- adds r1, r5, 0
- bl __udivsi3
- lsls r0, 16
- lsrs r2, r0, 16
- adds r3, r2, 0
- adds r0, r5, 0
- muls r0, r2
- subs r1, r6, r0
- cmp r7, 0x1
- bne _08008DD6
- adds r3, r4, 0
- adds r4, 0x1
- cmp r2, 0x9
- bhi _08008DD0
- mov r6, r8
- adds r0, r2, r6
- ldrb r0, [r0]
- b _08008DD2
- .pool
-_08008DD0:
- movs r0, 0xAC
-_08008DD2:
- strb r0, [r3]
- b _08008E00
-_08008DD6:
- cmp r2, 0
- bne _08008DDE
- cmp r5, 0x1
- bne _08008DF6
-_08008DDE:
- movs r7, 0x1
- adds r2, r4, 0
- adds r4, 0x1
- cmp r3, 0x9
- bhi _08008DF0
- mov r6, r8
- adds r0, r3, r6
- ldrb r0, [r0]
- b _08008DF2
-_08008DF0:
- movs r0, 0xAC
-_08008DF2:
- strb r0, [r2]
- b _08008E00
-_08008DF6:
- cmp r7, 0x2
- bne _08008E00
- movs r0, 0x77
- strb r0, [r4]
- adds r4, 0x1
-_08008E00:
- adds r6, r1, 0
- adds r0, r5, 0
- movs r1, 0xA
- bl __divsi3
- adds r5, r0, 0
- cmp r5, 0
- bgt _08008D9E
-_08008E10:
- movs r0, 0xFF
- strb r0, [r4]
- adds r0, r4, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ConvertUnsignedIntToDecimalString
-
- thumb_func_start ConvertIntToHexString
-@ u8 *ConvertIntToHexString(u8 *dest, s32 value, u8 mode, u8 numDigits)
-ConvertIntToHexString: @ 8008E20
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r6, r0, 0
- mov r8, r1
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0x1
- movs r0, 0x1
- cmp r1, r3
- bcs _08008E46
-_08008E3A:
- lsls r1, 4
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r3
- bcc _08008E3A
-_08008E46:
- movs r3, 0
- cmp r2, 0x1
- bne _08008E4E
- movs r3, 0x2
-_08008E4E:
- cmp r2, 0x2
- bne _08008E54
- movs r3, 0x1
-_08008E54:
- adds r5, r1, 0
- cmp r5, 0
- ble _08008ECA
- ldr r0, =gDigits
- mov r9, r0
-_08008E5E:
- mov r0, r8
- adds r1, r5, 0
- str r3, [sp]
- bl __divsi3
- adds r4, r0, 0
- adds r7, r4, 0
- mov r0, r8
- adds r1, r5, 0
- bl __modsi3
- adds r1, r0, 0
- ldr r3, [sp]
- cmp r3, 0x1
- bne _08008E90
- adds r2, r6, 0
- adds r6, 0x1
- cmp r4, 0xF
- bhi _08008EAA
- mov r7, r9
- adds r0, r4, r7
- ldrb r0, [r0]
- b _08008EAC
- .pool
-_08008E90:
- cmp r4, 0
- bne _08008E98
- cmp r5, 0x1
- bne _08008EB0
-_08008E98:
- movs r3, 0x1
- adds r2, r6, 0
- adds r6, 0x1
- cmp r7, 0xF
- bhi _08008EAA
- mov r4, r9
- adds r0, r7, r4
- ldrb r0, [r0]
- b _08008EAC
-_08008EAA:
- movs r0, 0xAC
-_08008EAC:
- strb r0, [r2]
- b _08008EBA
-_08008EB0:
- cmp r3, 0x2
- bne _08008EBA
- movs r0, 0x77
- strb r0, [r6]
- adds r6, 0x1
-_08008EBA:
- mov r8, r1
- adds r0, r5, 0
- cmp r5, 0
- bge _08008EC4
- adds r0, 0xF
-_08008EC4:
- asrs r5, r0, 4
- cmp r5, 0
- bgt _08008E5E
-_08008ECA:
- movs r0, 0xFF
- strb r0, [r6]
- adds r0, r6, 0
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ConvertIntToHexString
-
- thumb_func_start ExpandStringRefs
-@ u8 *ExpandStringRefs(u8 *dest, u8 *src)
-ExpandStringRefs: @ 8008EE0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
-_08008EE6:
- ldrb r2, [r5]
- adds r5, 0x1
- adds r0, r2, 0
- subs r0, 0xFA
- cmp r0, 0x5
- bhi _08008FBA
- lsls r0, 2
- ldr r1, =_08008F00
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08008F00:
- .4byte _08008FBA
- .4byte _08008FBA
- .4byte _08008F2C
- .4byte _08008F18
- .4byte _08008FBA
- .4byte _08008FC0
-_08008F18:
- ldrb r0, [r5]
- adds r5, 0x1
- bl GetExpandedStringRef
- adds r1, r0, 0
- adds r0, r4, 0
- bl ExpandStringRefs
- adds r4, r0, 0
- b _08008EE6
-_08008F2C:
- strb r2, [r4]
- adds r4, 0x1
- ldrb r2, [r5]
- adds r5, 0x1
- strb r2, [r4]
- adds r4, 0x1
- subs r0, r2, 0x4
- cmp r0, 0x14
- bhi _08008FB0
- lsls r0, 2
- ldr r1, =_08008F4C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08008F4C:
- .4byte _08008FA0
- .4byte _08008FB0
- .4byte _08008FB0
- .4byte _08008EE6
- .4byte _08008FB0
- .4byte _08008EE6
- .4byte _08008FB0
- .4byte _08008FA8
- .4byte _08008FB0
- .4byte _08008FB0
- .4byte _08008FB0
- .4byte _08008EE6
- .4byte _08008FB0
- .4byte _08008FB0
- .4byte _08008FB0
- .4byte _08008FB0
- .4byte _08008FB0
- .4byte _08008EE6
- .4byte _08008EE6
- .4byte _08008EE6
- .4byte _08008EE6
-_08008FA0:
- ldrb r0, [r5]
- strb r0, [r4]
- adds r5, 0x1
- adds r4, 0x1
-_08008FA8:
- ldrb r0, [r5]
- strb r0, [r4]
- adds r5, 0x1
- adds r4, 0x1
-_08008FB0:
- ldrb r0, [r5]
- strb r0, [r4]
- adds r5, 0x1
- adds r4, 0x1
- b _08008EE6
-_08008FBA:
- strb r2, [r4]
- adds r4, 0x1
- b _08008EE6
-_08008FC0:
- movs r0, 0xFF
- strb r0, [r4]
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end ExpandStringRefs
-
- thumb_func_start sub_8008FCC
-@ u8 *sub_8008FCC(u8 *dest, u8 *src)
-sub_8008FCC: @ 8008FCC
- push {r4-r6,lr}
- sub sp, 0xC
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r1, =gUnknown_082EC80C
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- add r4, sp, 0x4
- ldr r1, =gUnknown_082EC810
- adds r0, r4, 0
- movs r2, 0x5
- bl memcpy
- adds r0, r5, 0
- mov r1, sp
-_08008FEE:
- bl CopyString
- adds r5, r0, 0
-_08008FF4:
- ldrb r0, [r6]
- adds r6, 0x1
- cmp r0, 0xFE
- beq _0800900C
- cmp r0, 0xFF
- bne _08009012
- b _0800901E
- .pool
-_0800900C:
- adds r0, r5, 0
- adds r1, r4, 0
- b _08008FEE
-_08009012:
- strb r0, [r5]
- adds r5, 0x1
- adds r0, 0x40
- strb r0, [r5]
- adds r5, 0x1
- b _08008FF4
-_0800901E:
- strb r0, [r5]
- adds r0, r5, 0
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8008FCC
-
- thumb_func_start StringRef_GetPossiblyUnusedStringVar
-@ u8 *StringRef_GetPossiblyUnusedStringVar()
-StringRef_GetPossiblyUnusedStringVar: @ 800902C
- ldr r0, =gUnknown_020223AC
- bx lr
- .pool
- thumb_func_end StringRef_GetPossiblyUnusedStringVar
-
- thumb_func_start StringRef_GetPlayerName
-@ u8 *StringRef_GetPlayerName()
-StringRef_GetPlayerName: @ 8009034
- ldr r0, =gUnknown_03005D90
- ldr r0, [r0]
- bx lr
- .pool
- thumb_func_end StringRef_GetPlayerName
-
- thumb_func_start StringRef_GetStringVar1
-@ u8 *StringRef_GetStringVar1()
-StringRef_GetStringVar1: @ 8009040
- ldr r0, =gUnknown_02021CC4
- bx lr
- .pool
- thumb_func_end StringRef_GetStringVar1
-
- thumb_func_start StringRef_GetStringVar2
-@ u8 *StringRef_GetStringVar2()
-StringRef_GetStringVar2: @ 8009048
- ldr r0, =gUnknown_02021DC4
- bx lr
- .pool
- thumb_func_end StringRef_GetStringVar2
-
- thumb_func_start StringRef_GetStringVar3
-@ u8 *StringRef_GetStringVar3()
-StringRef_GetStringVar3: @ 8009050
- ldr r0, =gUnknown_02021EC4
- bx lr
- .pool
- thumb_func_end StringRef_GetStringVar3
-
- thumb_func_start StringRef_GetDummiedOutGenderDependentString
-@ u8 *StringRef_GetDummiedOutGenderDependentString()
-StringRef_GetDummiedOutGenderDependentString: @ 8009058
- push {lr}
- ldr r0, =gUnknown_03005D90
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- beq _08009070
- ldr r0, =gUnknown_085E821A
- b _08009072
- .pool
-_08009070:
- ldr r0, =gUnknown_085E8219
-_08009072:
- pop {r1}
- bx r1
- .pool
- thumb_func_end StringRef_GetDummiedOutGenderDependentString
-
- thumb_func_start StringRef_GetRivalName
-@ u8 *StringRef_GetRivalName()
-StringRef_GetRivalName: @ 800907C
- push {lr}
- ldr r0, =gUnknown_03005D90
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- beq _08009094
- ldr r0, =gUnknown_085E8258
- b _08009096
- .pool
-_08009094:
- ldr r0, =gUnknown_085E8260
-_08009096:
- pop {r1}
- bx r1
- .pool
- thumb_func_end StringRef_GetRivalName
-
- thumb_func_start StringRef_GetEmeraldString
-@ u8 *StringRef_GetEmeraldString()
-StringRef_GetEmeraldString: @ 80090A0
- ldr r0, =gUnknown_085E8229
- bx lr
- .pool
- thumb_func_end StringRef_GetEmeraldString
-
- thumb_func_start StringRef_GetAquaString
-@ u8 *StringRef_GetAquaString()
-StringRef_GetAquaString: @ 80090A8
- ldr r0, =gUnknown_085E8231
- bx lr
- .pool
- thumb_func_end StringRef_GetAquaString
-
- thumb_func_start StringRef_GetMagmaString
-@ u8 *StringRef_GetMagmaString()
-StringRef_GetMagmaString: @ 80090B0
- ldr r0, =gUnknown_085E8236
- bx lr
- .pool
- thumb_func_end StringRef_GetMagmaString
-
- thumb_func_start StringRef_GetArchieString
-@ u8 *StringRef_GetArchieString()
-StringRef_GetArchieString: @ 80090B8
- ldr r0, =gUnknown_085E823C
- bx lr
- .pool
- thumb_func_end StringRef_GetArchieString
-
- thumb_func_start StringRef_GetMaxieString
-@ u8 *StringRef_GetMaxieString()
-StringRef_GetMaxieString: @ 80090C0
- ldr r0, =gUnknown_085E8243
- bx lr
- .pool
- thumb_func_end StringRef_GetMaxieString
-
- thumb_func_start StringRef_GetKyogreString
-@ u8 *StringRef_GetKyogreString()
-StringRef_GetKyogreString: @ 80090C8
- ldr r0, =gUnknown_085E8249
- bx lr
- .pool
- thumb_func_end StringRef_GetKyogreString
-
- thumb_func_start StringRef_GetGroudonString
-@ u8 *StringRef_GetGroudonString()
-StringRef_GetGroudonString: @ 80090D0
- ldr r0, =gUnknown_085E8250
- bx lr
- .pool
- thumb_func_end StringRef_GetGroudonString
-
- thumb_func_start GetExpandedStringRef
-@ u8 *GetExpandedStringRef(u8 code)
-GetExpandedStringRef: @ 80090D8
- push {lr}
- cmp r0, 0xD
- bhi _080090F0
- ldr r1, =gStringRefFunctionTable
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- b _080090F2
- .pool
-_080090F0:
- ldr r0, =gUnknown_085E8218
-_080090F2:
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetExpandedStringRef
-
- thumb_func_start RepeatChar
-@ u8 *RepeatChar(u8 *dest, u8 c, u16 n)
-RepeatChar: @ 80090FC
- push {lr}
- adds r3, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0
- cmp r0, r2
- bcs _0800911C
-_0800910E:
- strb r1, [r3]
- adds r3, 0x1
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r2
- bcc _0800910E
-_0800911C:
- movs r0, 0xFF
- strb r0, [r3]
- adds r0, r3, 0
- pop {r1}
- bx r1
- thumb_func_end RepeatChar
-
- thumb_func_start CopyStringPadded
-@ u8 *CopyStringPadded(u8 *dest, u8 *src, u8 c, u16 n)
-CopyStringPadded: @ 8009128
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 16
- lsrs r3, 16
- b _08009148
-_08009138:
- strb r1, [r4]
- adds r5, 0x1
- adds r4, 0x1
- cmp r3, 0
- beq _08009148
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
-_08009148:
- ldrb r1, [r5]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _08009138
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, =0x0000ffff
- cmp r3, r0
- beq _0800916C
- adds r1, r0, 0
-_0800915E:
- strb r2, [r4]
- adds r4, 0x1
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r1
- bne _0800915E
-_0800916C:
- movs r0, 0xFF
- strb r0, [r4]
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end CopyStringPadded
-
- thumb_func_start RepeatStringTerminator
-@ u8 *RepeatStringTerminator(u8 *dest, u16 n)
-RepeatStringTerminator: @ 800917C
- push {lr}
- lsls r2, r1, 16
- lsrs r2, 16
- movs r1, 0xFF
- bl RepeatChar
- pop {r1}
- bx r1
- thumb_func_end RepeatStringTerminator
-
- thumb_func_start CopyString_LimitN_Multibyte
-@ u8 *CopyString_LimitN_Multibyte(u8 *dest, u8 *src, u32 n)
-CopyString_LimitN_Multibyte: @ 800918C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- subs r2, 0x1
- movs r5, 0x1
- negs r5, r5
- b _080091B2
-_0800919A:
- strb r0, [r4]
- adds r3, 0x1
- adds r4, 0x1
- subs r0, r3, 0x1
- ldrb r0, [r0]
- cmp r0, 0xF9
- bne _080091B0
- ldrb r0, [r3]
- strb r0, [r4]
- adds r3, 0x1
- adds r4, 0x1
-_080091B0:
- subs r2, 0x1
-_080091B2:
- cmp r2, r5
- beq _080091BE
- ldrb r0, [r3]
- adds r1, r0, 0
- cmp r1, 0xFF
- bne _0800919A
-_080091BE:
- movs r0, 0xFF
- strb r0, [r4]
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CopyString_LimitN_Multibyte
-
- thumb_func_start GetStringLength_Multibyte
-@ u32 GetStringLength_Multibyte(u8 *s)
-GetStringLength_Multibyte: @ 80091CC
- push {lr}
- adds r2, r0, 0
- movs r3, 0
- b _080091DE
-_080091D4:
- cmp r1, 0xF9
- bne _080091DA
- adds r2, 0x1
-_080091DA:
- adds r2, 0x1
- adds r3, 0x1
-_080091DE:
- ldrb r1, [r2]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _080091D4
- adds r0, r3, 0
- pop {r1}
- bx r1
- thumb_func_end GetStringLength_Multibyte
-
- thumb_func_start WriteColorChangeControlCode
-@ u8 *WriteColorChangeControlCode(u8 *dest, u8 colorType, u8 color)
-WriteColorChangeControlCode: @ 80091EC
- push {lr}
- adds r3, r0, 0
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0xFC
- strb r0, [r3]
- adds r3, 0x1
- cmp r1, 0x1
- beq _0800920E
- cmp r1, 0x1
- bcc _08009208
- cmp r1, 0x2
- beq _08009214
- b _08009218
-_08009208:
- movs r0, 0x1
- strb r0, [r3]
- b _08009216
-_0800920E:
- movs r0, 0x3
- strb r0, [r3]
- b _08009216
-_08009214:
- strb r1, [r3]
-_08009216:
- adds r3, 0x1
-_08009218:
- strb r2, [r3]
- adds r3, 0x1
- movs r0, 0xFF
- strb r0, [r3]
- adds r0, r3, 0
- pop {r1}
- bx r1
- thumb_func_end WriteColorChangeControlCode
-
- thumb_func_start sub_8009228
-@ bool8 sub_8009228(u8 *s)
-sub_8009228: @ 8009228
- push {lr}
- adds r2, r0, 0
- b _0800923E
-_0800922E:
- adds r0, r1, 0
- cmp r0, 0xA0
- bhi _0800923C
- cmp r0, 0
- beq _0800923C
- movs r0, 0x1
- b _08009248
-_0800923C:
- adds r2, 0x1
-_0800923E:
- ldrb r1, [r2]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _0800922E
- movs r0, 0
-_08009248:
- pop {r1}
- bx r1
- thumb_func_end sub_8009228
-
- thumb_func_start sub_800924C
-@ bool8 sub_800924C(u8 *s, u32 n)
-sub_800924C: @ 800924C
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- movs r1, 0
- b _08009268
-_08009256:
- adds r0, r2, 0
- cmp r0, 0xA0
- bhi _08009264
- cmp r0, 0
- beq _08009264
- movs r0, 0x1
- b _08009276
-_08009264:
- adds r3, 0x1
- adds r1, 0x1
-_08009268:
- ldrb r2, [r3]
- adds r0, r2, 0
- cmp r0, 0xFF
- beq _08009274
- cmp r1, r4
- blt _08009256
-_08009274:
- movs r0, 0
-_08009276:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_800924C
-
- thumb_func_start GetExtendedControlCodeLength
-@ u8 GetExtendedControlCodeLength(u8 code)
-GetExtendedControlCodeLength: @ 800927C
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r0, 0
- cmp r1, 0x18
- bhi _0800928E
- ldr r0, =gExtendedControlCodeLengths
- adds r0, r1, r0
- ldrb r0, [r0]
-_0800928E:
- pop {r1}
- bx r1
- .pool
- thumb_func_end GetExtendedControlCodeLength
-
- thumb_func_start SkipExtendedControlCode
-@ u8 *SkipExtendedControlCode(u8 *s)
-SkipExtendedControlCode: @ 8009298
- push {r4,lr}
- adds r4, r0, 0
- b _080092AC
-_0800929E:
- adds r4, 0x1
- ldrb r0, [r4]
- bl GetExtendedControlCodeLength
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0
-_080092AC:
- ldrb r0, [r4]
- cmp r0, 0xFC
- beq _0800929E
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end SkipExtendedControlCode
-
- thumb_func_start CompareStringWithoutExtendedControlCodes
-@ u8 CompareStringWithoutExtendedControlCodes(u8 *s1, u8 *s2)
-CompareStringWithoutExtendedControlCodes: @ 80092BC
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r6, 0
- b _080092DE
-_080092C6:
- cmp r1, r0
- bcs _080092D4
- movs r6, 0x1
- negs r6, r6
- cmp r0, 0xFF
- bne _080092D4
- movs r6, 0x1
-_080092D4:
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080092FE
- adds r4, 0x1
- adds r5, 0x1
-_080092DE:
- adds r0, r4, 0
- bl SkipExtendedControlCode
- adds r4, r0, 0
- adds r0, r5, 0
- bl SkipExtendedControlCode
- adds r5, r0, 0
- ldrb r1, [r4]
- ldrb r0, [r5]
- cmp r1, r0
- bls _080092C6
- movs r6, 0x1
- cmp r1, 0xFF
- bne _080092FE
- subs r6, 0x2
-_080092FE:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CompareStringWithoutExtendedControlCodes
-
- thumb_func_start StopMusicWhileStringIsPrinted
-@ void StopMusicWhileStringIsPrinted(u8 *s, bool8 stopMusic)
-StopMusicWhileStringIsPrinted: @ 8009308
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x1
- bne _08009368
- bl StripExtendedControlCodes
- adds r0, r4, 0
- bl GetStringLength
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, r2, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, r2, 0
- adds r1, r4, r1
- movs r0, 0xFC
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, r4, r3
- movs r0, 0x16
- strb r0, [r3]
- adds r0, r2, 0x1
- lsls r0, 24
- adds r2, r4, r2
- movs r1, 0xFF
- strb r1, [r2]
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- b _0800935A
-_08009350:
- adds r1, r2, r4
- ldrb r0, [r1]
- strb r0, [r1, 0x2]
- subs r0, r2, 0x1
- lsls r0, 24
-_0800935A:
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _08009350
- movs r0, 0xFC
- strb r0, [r4]
- movs r0, 0x15
- strb r0, [r4, 0x1]
-_08009368:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end StopMusicWhileStringIsPrinted
-
- thumb_func_start StripExtendedControlCodes
-@ void StripExtendedControlCodes(u8 *s)
-StripExtendedControlCodes: @ 8009370
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r4, 0
- movs r6, 0
- ldrb r0, [r5]
- cmp r0, 0xFF
- beq _080093C0
-_0800937E:
- adds r0, r5, r4
- ldrb r0, [r0]
- cmp r0, 0xFC
- bne _080093A0
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r5, r4
- ldrb r0, [r0]
- bl GetExtendedControlCodeLength
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- b _080093B8
-_080093A0:
- adds r2, r6, 0
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- adds r2, r5, r2
- adds r1, r4, 0
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r1, r5, r1
- ldrb r0, [r1]
- strb r0, [r2]
-_080093B8:
- adds r0, r5, r4
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _0800937E
-_080093C0:
- adds r1, r5, r6
- movs r0, 0xFF
- strb r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end StripExtendedControlCodes
-
- .align 2, 0 @ Don't pad with nop.