mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-15 11:00:04 +08:00
7343eefbde
* libc/machine/h8300/defines.h : Correct pointer register defines for normal mode. * libc/machine/h8300/memcpy.S : Use add/sub instead of adds/subs for normal mode. * libc/machine/h8300/reg_memcpy.S : Likewise. * libc/machine/h8300/reg_memset.S : Likewise. * libc/machine/h8300/strcmp.S : Likewise.
31 lines
319 B
ArmAsm
31 lines
319 B
ArmAsm
#include "setarch.h"
|
|
|
|
#include "defines.h"
|
|
|
|
; dst A0
|
|
; src A1
|
|
; len A2
|
|
|
|
.global ___reg_memset
|
|
___reg_memset:
|
|
MOVP A0P,A3P
|
|
MOVP A2P,A2P
|
|
beq noset
|
|
|
|
memloop:
|
|
mov.b A1L,@A0P
|
|
#ifdef __NORMAL_MODE__
|
|
add #1,A0P
|
|
sub #1,A2P
|
|
#else
|
|
adds #1,A0P
|
|
subs #1,A2P
|
|
#endif
|
|
MOVP A2P,A2P
|
|
bne memloop
|
|
|
|
noset:
|
|
MOVP A3P,A0P
|
|
rts
|
|
|