URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [newlib-1.10.0/] [newlib/] [libc/] [machine/] [hppa/] [memchr.S] - Rev 1765
Compare with Previous | Blame | View Log
/** (c) Copyright 1986 HEWLETT-PACKARD COMPANY** To anyone who acknowledges that this file is provided "AS IS"* without any express or implied warranty:* permission to use, copy, modify, and distribute this file* for any purpose is hereby granted without fee, provided that* the above copyright notice and this notice appears in all* copies, and that the name of Hewlett-Packard Company not be* used in advertising or publicity pertaining to distribution* of the software without specific, written prior permission.* Hewlett-Packard Company makes no representations about the* suitability of this software for any purpose.*//* SPECTRUM_ID: @(#)memchr.s 37.4 86/04/23 *//** memchr(s, c, n)** returns pointer to first occurrence of char c* in first n characters of memory area s,* or null if c does not occur.*/#include "DEFS.h"#define FROM arg0#define CHAR arg1#define COUNT arg2#define TEMP1 r19ENTRY(memchr)comb,<= COUNT,r0,memchrexit /* return if count is zero */copy r0,ret0 /* null if c not found in n chars */depi 0,23,24,CHAR /* make char unsigned */ldbs,ma 1(FROM),TEMP1memchrloop:comb,=,n TEMP1,CHAR,memchrequaladdib,<> -1,COUNT,memchrloopldbs,ma 1(FROM),TEMP1b,n memchrexitmemchrequal:ldo -1(FROM),ret0memchrexit:EXIT(memchr)
