Add strcpy function

This commit is contained in:
Kiril Kovachev 2025-01-24 18:49:33 +00:00
parent 4057ac4bcc
commit 0d55f5cbf9

48
strcpy.S Normal file
View File

@ -0,0 +1,48 @@
.intel_syntax noprefix
.globl _start
.text
# String-copying routine.
# Commented-out lines would also return the starting address of the destination address.
strcpy:
# push rsi
.loop:
movb r10b, [rdi]
cmpb r10b, 0
je .end
movb [rsi], r10b
inc rdi
inc rsi
jmp .loop
.end:
# pop rax
ret
_start:
mov rdi, offset str2
mov rsi, offset str1
call strcpy
# mov rsi, rax -- would copy the string start address to rsi
mov rax, 1
mov rdi, 1
mov rsi, offset str1
mov rdx, 14
syscall
# exit
mov rax, 60
mov rdi, 0
syscall
.bss
str1:
.skip 30
.data
str2:
.string "Hello, world!\n"