summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/libc.s213
-rw-r--r--asm/rom_80093CC.s2
2 files changed, 1 insertions, 214 deletions
diff --git a/asm/libc.s b/asm/libc.s
deleted file mode 100644
index a7a233f83..000000000
--- a/asm/libc.s
+++ /dev/null
@@ -1,213 +0,0 @@
- .include "asm/macros.s"
-
- .syntax unified
-
- .text
-
- thumb_func_start memcpy
-@ void *memcpy(void *dest, void *src, int size)
-memcpy: @ 82E93D4
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r3, r1, 0
- cmp r2, 0xF
- bls _082E9414
- adds r0, r3, 0
- orrs r0, r5
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _082E9414
- adds r1, r5, 0
-_082E93EE:
- ldm r3!, {r0}
- stm r1!, {r0}
- ldm r3!, {r0}
- stm r1!, {r0}
- ldm r3!, {r0}
- stm r1!, {r0}
- ldm r3!, {r0}
- stm r1!, {r0}
- subs r2, 0x10
- cmp r2, 0xF
- bhi _082E93EE
- cmp r2, 0x3
- bls _082E9412
-_082E9408:
- ldm r3!, {r0}
- stm r1!, {r0}
- subs r2, 0x4
- cmp r2, 0x3
- bhi _082E9408
-_082E9412:
- adds r4, r1, 0
-_082E9414:
- subs r2, 0x1
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _082E942E
- adds r1, r0, 0
-_082E9420:
- ldrb r0, [r3]
- strb r0, [r4]
- adds r3, 0x1
- adds r4, 0x1
- subs r2, 0x1
- cmp r2, r1
- bne _082E9420
-_082E942E:
- adds r0, r5, 0
- pop {r4,r5,pc}
- thumb_func_end memcpy
-
- thumb_func_start memset
-@ void *memset(void *dest, char c, int size)
-memset: @ 82E9434
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r3, r5, 0
- cmp r2, 0x3
- bls _082E947A
- movs r0, 0x3
- ands r0, r5
- cmp r0, 0
- bne _082E947A
- adds r1, r5, 0
- movs r0, 0xFF
- ands r4, r0
- lsls r3, r4, 8
- orrs r3, r4
- lsls r0, r3, 16
- orrs r3, r0
- cmp r2, 0xF
- bls _082E946E
-_082E945A:
- stm r1!, {r3}
- stm r1!, {r3}
- stm r1!, {r3}
- stm r1!, {r3}
- subs r2, 0x10
- cmp r2, 0xF
- bhi _082E945A
- b _082E946E
-_082E946A:
- stm r1!, {r3}
- subs r2, 0x4
-_082E946E:
- cmp r2, 0x3
- bhi _082E946A
- adds r3, r1, 0
- b _082E947A
-_082E9476:
- strb r4, [r3]
- adds r3, 0x1
-_082E947A:
- adds r0, r2, 0
- subs r2, 0x1
- cmp r0, 0
- bne _082E9476
- adds r0, r5, 0
- pop {r4,r5,pc}
- thumb_func_end memset
-
- thumb_func_start strcmp
-@ int strcmp(char *s1, char *s2)
-strcmp: @ 82E9488
- push {r4,r5,lr}
- adds r2, r0, 0
- adds r3, r1, 0
- orrs r0, r3
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _082E94CE
- ldr r1, [r2]
- ldr r0, [r3]
- cmp r1, r0
- bne _082E94CE
- ldr r5, _082E94B4
- ldr r4, _082E94B8
-_082E94A4:
- ldr r1, [r2]
- adds r0, r1, r5
- bics r0, r1
- ands r0, r4
- cmp r0, 0
- beq _082E94BC
- movs r0, 0
- b _082E94E0
- .align 2, 0
-_082E94B4: .4byte 0xfefefeff
-_082E94B8: .4byte 0x80808080
-_082E94BC:
- adds r2, 0x4
- adds r3, 0x4
- ldr r1, [r2]
- ldr r0, [r3]
- cmp r1, r0
- beq _082E94A4
- b _082E94CE
-_082E94CA:
- adds r2, 0x1
- adds r3, 0x1
-_082E94CE:
- ldrb r0, [r2]
- cmp r0, 0
- beq _082E94DA
- ldrb r1, [r3]
- cmp r0, r1
- beq _082E94CA
-_082E94DA:
- ldrb r2, [r2]
- ldrb r3, [r3]
- subs r0, r2, r3
-_082E94E0:
- pop {r4,r5,pc}
- thumb_func_end strcmp
-
- thumb_func_start strcat
-strcat: @ 82E94E4
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r3, r6, 0
- adds r2, r1, 0
- adds r0, r2, 0
- orrs r0, r6
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _082E951C
- ldr r1, [r2]
- ldr r5, _082E9504
- adds r0, r1, r5
- bics r0, r1
- ldr r4, _082E9508
- b _082E9516
- .align 2, 0
-_082E9504: .4byte 0xfefefeff
-_082E9508: .4byte 0x80808080
-_082E950C:
- ldm r2!, {r0}
- stm r3!, {r0}
- ldr r1, [r2]
- adds r0, r1, r5
- bics r0, r1
-_082E9516:
- ands r0, r4
- cmp r0, 0
- beq _082E950C
-_082E951C:
- ldrb r0, [r2]
- strb r0, [r3]
- lsls r0, 24
- adds r2, 0x1
- adds r3, 0x1
- cmp r0, 0
- bne _082E951C
- adds r0, r6, 0
- pop {r4-r6,pc}
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom_80093CC.s b/asm/rom_80093CC.s
index 5f6c92dc1..9587dcbc5 100644
--- a/asm/rom_80093CC.s
+++ b/asm/rom_80093CC.s
@@ -2523,7 +2523,7 @@ task00_link_test: @ 800A850
sub sp, 0x20
ldr r1, =gUnknown_082ED1E4
mov r0, sp
- bl strcat
+ bl strcpy
mov r0, sp
movs r1, 0x5
movs r2, 0x2