diff options
author | Gogume1er <gogume1er@gmail.com> | 2021-06-05 12:06:24 +0200 |
---|---|---|
committer | Gogume1er <gogume1er@gmail.com> | 2021-06-05 12:06:24 +0200 |
commit | e242303ff5f56ef258bef9ea7608b6db28889096 (patch) | |
tree | b3e2d485e4428aac6294e03b26365d36c91d4528 /arm9/asm/MSL_Common_wstring.s | |
parent | 2288e6d101397143b08ff64a38baaeedd7f2c3dd (diff) | |
parent | 33a7ec1fd719b9321357aa59460cbdb9f7779053 (diff) |
Merge branch 'master' into unkk_020851B8
# Conflicts:
# arm9/asm/unk_020851B8.s
Diffstat (limited to 'arm9/asm/MSL_Common_wstring.s')
-rw-r--r-- | arm9/asm/MSL_Common_wstring.s | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/arm9/asm/MSL_Common_wstring.s b/arm9/asm/MSL_Common_wstring.s new file mode 100644 index 00000000..d01c034b --- /dev/null +++ b/arm9/asm/MSL_Common_wstring.s @@ -0,0 +1,48 @@ + .include "asm/macros.inc"
+ .include "global.inc"
+
+ .text
+
+ arm_func_start wcslen
+wcslen: ; 0x020E701C
+ mvn r2, #0x0
+_020E7020:
+ ldrh r1, [r0], #0x2
+ add r2, r2, #0x1
+ cmp r1, #0x0
+ bne _020E7020
+ mov r0, r2
+ bx lr
+ arm_func_end wcslen
+
+ arm_func_start wcscpy
+wcscpy: ; 0x020E7038
+ mov r3, r0
+_020E703C:
+ ldrh r2, [r1], #0x2
+ mov r12, r3
+ strh r2, [r3], #0x2
+ ldrh r2, [r12, #0x0]
+ cmp r2, #0x0
+ bne _020E703C
+ bx lr
+ arm_func_end wcscpy
+
+ arm_func_start wcschr
+wcschr: ; 0x020E7058
+ ldrh r2, [r0], #0x2
+ cmp r2, #0x0
+ beq _020E707C
+_020E7064:
+ cmp r2, r1
+ subeq r0, r0, #0x2
+ bxeq lr
+ ldrh r2, [r0], #0x2
+ cmp r2, #0x0
+ bne _020E7064
+_020E707C:
+ cmp r1, #0x0
+ movne r0, #0x0
+ subeq r0, r0, #0x2
+ bx lr
+ arm_func_end wcschr
|