1/*
2Copyright (c) 1990 The Regents of the University of California.
3All rights reserved.
4
5Redistribution and use in source and binary forms are permitted
6provided that the above copyright notice and this paragraph are
7duplicated in all such forms and that any documentation,
8and/or other materials related to such
9distribution and use acknowledge that the software was developed
10by the University of California, Berkeley.  The name of the
11University may not be used to endorse or promote products derived
12from this software without specific prior written permission.
13THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16 */
17#include <picolibc.h>
18
19#include "setarch.h"
20
21#include "defines.h"
22
23	; dst A0
24	; src A1
25	; len A2
26
27	.global ___reg_memset
28___reg_memset:
29	MOVP	A0P,A3P
30	MOVP	A2P,A2P
31	beq	noset
32
33memloop:
34	mov.b	A1L,@A0P
35#ifdef __NORMAL_MODE__
36	add	#1,A0P
37	sub	#1,A2P
38#else
39	adds	#1,A0P
40	subs	#1,A2P
41#endif
42	MOVP	A2P,A2P
43	bne	memloop
44
45noset:
46	MOVP	A3P,A0P
47	rts
48
49