; The OS/K Team licenses this file to you under the MIT license. ; See the LICENSE file in the project root for more information. ; ; void strcpy(char *, const char *) ; strcpy: mov rax, b[ax1] mov b[ax0], rax b.z rax, zero, .1 add ax0, ax0, 1 add ax1, ax1, 1 jmp strcpy .1: ret ; ; void strncpy(char *, const char *, int) ; strncpy: mov rcx, ax2 .1: ret.cxz mov rax, b[ax1] mov b[ax0], rax add ax0, ax0, 1 add ax1, ax1, 1 sub rcx, rcx, 1 jmp .1 ; ; void strnzcpy(char *, const char *, int) ; strnzcpy: mov rcx, ax2 .1: jmp.cxz .2 mov rax, b[ax1] mov b[ax0], rax b.z rax, zero, .3 add ax0, ax0, 1 add ax1, ax1, 1 sub rcx, rcx, 1 jmp .1 .2: mov b[ax0], zero .3: ret