diff options
author | twinaphex | 2015-11-10 18:38:11 +0100 |
---|---|---|
committer | twinaphex | 2015-11-10 18:38:11 +0100 |
commit | 01cd0cf02bf5d0cf9e489d91a1eeed4ed51491cc (patch) | |
tree | 1888cfe71ab82419d8a32fa315c748f2132b3d2f /src | |
parent | 8f6996d5d5d47af4c4fcfb8173a0db2e5c2806b3 (diff) | |
download | snes9x2002-01cd0cf02bf5d0cf9e489d91a1eeed4ed51491cc.tar.gz snes9x2002-01cd0cf02bf5d0cf9e489d91a1eeed4ed51491cc.tar.bz2 snes9x2002-01cd0cf02bf5d0cf9e489d91a1eeed4ed51491cc.zip |
Move some more frivolous ASM files
Diffstat (limited to 'src')
-rw-r--r-- | src/strcmp.S | 50 | ||||
-rw-r--r-- | src/strlen.S | 61 | ||||
-rw-r--r-- | src/strncmp.S | 55 |
3 files changed, 0 insertions, 166 deletions
diff --git a/src/strcmp.S b/src/strcmp.S deleted file mode 100644 index 57a42a7..0000000 --- a/src/strcmp.S +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 2002 ARM Ltd - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the company may not be used to endorse or promote - * products derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Adapted for uClibc from NetBSD strcmp.S, version 1.3 2003/04/05 - * by Erik Andersen <andersen@codepoet.org> - */ - - .text - .global strcmp; - .type strcmp,%function - .align 4; - -strcmp: -1: - ldrb r2, [r0], #1 - ldrb r3, [r1], #1 - cmp r2, #1 - cmpcs r2, r3 - beq 1b - sub r0, r2, r3 - //mov pc, lr - bx lr - -.weak strcoll; - strcoll = strcmp - diff --git a/src/strlen.S b/src/strlen.S deleted file mode 100644 index 1faf7e2..0000000 --- a/src/strlen.S +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Code contributed by Matthew Wilcox <willy@odie.barnet.ac.uk> - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* size_t strlen(const char *S) - * entry: r0 -> string - * exit: r0 = len - */ - - .text - .global strlen; - .type strlen,%function - .align 4; - -strlen: - bic r1, r0, $3 @ addr of word containing first byte - ldr r2, [r1], $4 @ get the first word - ands r3, r0, $3 @ how many bytes are duff? - rsb r0, r3, $0 @ get - that number into counter. - beq Laligned @ skip into main check routine if no - @ more - orr r2, r2, $0x000000ff @ set this byte to non-zero - subs r3, r3, $1 @ any more to do? - orrgt r2, r2, $0x0000ff00 @ if so, set this byte - subs r3, r3, $1 @ more? - orrgt r2, r2, $0x00ff0000 @ then set. -Laligned: @ here, we have a word in r2. Does it - tst r2, $0x000000ff @ contain any zeroes? - tstne r2, $0x0000ff00 @ - tstne r2, $0x00ff0000 @ - tstne r2, $0xff000000 @ - addne r0, r0, $4 @ if not, the string is 4 bytes longer - ldrne r2, [r1], $4 @ and we continue to the next word - bne Laligned @ -Llastword: @ drop through to here once we find a - tst r2, $0x000000ff @ - addne r0, r0, $1 @ - tstne r2, $0x0000ff00 @ and add up to 3 bytes on to it - addne r0, r0, $1 @ - tstne r2, $0x00ff0000 @ (if first three all non-zero, 4th - addne r0, r0, $1 @ must be zero) - //mov pc,lr - bx lr - -.size strlen,.-strlen; - diff --git a/src/strncmp.S b/src/strncmp.S deleted file mode 100644 index ed7c495..0000000 --- a/src/strncmp.S +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2002 ARM Ltd - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the company may not be used to endorse or promote - * products derived from this software without specific prior written - * permission. - * - * THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Adapted for uClibc from NetBSD strncmp.S, version 1.2 2003/04/05 - * by Erik Andersen <andersen@codepoet.org> - */ - - .text - .global strncmp; - .type strncmp,%function - .align 4; - -strncmp: - /* if ((len - 1) < 0) return 0 */ - subs r2, r2, #1 - movmi r0, #0 - //movmi pc, lr - bxmi lr - - /* ip == last src address to compare */ - add ip, r0, r2 -1: - ldrb r2, [r0], #1 - ldrb r3, [r1], #1 - cmp ip, r0 - cmpcs r2, #1 - cmpcs r2, r3 - beq 1b - sub r0, r2, r3 - //mov pc, lr - bx lr |