pop rsi
cmp rcx,0
jle p_strncpy_END
- cld
+ cmp rdi,rsi
+ je p_strncpy_END
+ jl p_strncpy_LOOP
+ ;; copy down
+ std ; Direction is decrementing
+ add rdi,rcx
+ dec rdi
+ add rsi,rcx
+ dec rsi
p_strncpy_LOOP:
+ rep
movsb
- dec rcx
- jg p_strncpy_LOOP
p_strncpy_END:
+ cld ; Restore default direction as incrementing
popr rsi
next