diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/libc.s | 213 | ||||
-rw-r--r-- | asm/rom_80093CC.s | 2 |
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 |