P8000/WEGA/contrib/lcc/lib/libc/u8k/gen/strncpy.s

30 lines
350 B
ArmAsm

.seg
fp := r13
FP := rr12
sp := r15
SP := rr14
.psec
.code
_strncpy::
{
ldm r2,|_stkseg+4|(sp),#5 // rr2 <-> s1 , rr4 <-> s2 , r6 <-> n
~while:
dec r6,#1
jpr lt,~out
ldb rl7,@rr4
ldb @rr2,rl7
inc r5,#1
inc r3,#1
testb rl7
jr nz,~while
~while1:
dec r6,#1
jpr lt,~out
clrb @rr2
inc r3,#1
jpr ~while1
~out:
ldl rr2,SP(#4)
ret
}