rax, rax
cmp rsi, 0
je done
copy: mov al, byte[rsi + rax]
mov byte[rdi + rax], al
cmp byte[rsi + rax], 0
je done
inc rax
jmp copy
done: mov rax, rdi
ret
Ты портишь rax в строке с меткой copy.
только сделай еще проверку длин строк, а то может получится что бОльшую копируешь в меньшую, затрешь данные лежащие ниже
сначало посчитать длину в этом коде, функцию подсчета длины он уже сделал
или: mov rcx, length mov rsi, input mov rdi, output repe movsb
Обсуждают сегодня