Есть готовые примеры ... если поискать
NASM
section .data
str1 db 'Hello, ', 0
str2 db 'world!', 0
section .text
global _start
_start:
; Вызов функции конкатенации
mov ebx, str1 ; адрес первой строки
mov ecx, str2 ; адрес второй строки
call concat
; Вывод результата
mov eax, 4 ; системный вызов write
mov ebx, 1 ; файловый дескриптор stdout
mov ecx, str1 ; адрес строки для вывода
mov edx, 13 ; длина строки
int 0x80 ; выполнить системный вызов
; Выход из программы
mov eax, 1 ; системный вызов exit
xor ebx, ebx ; код завершения 0
int 0x80 ; выполнить системный вызов
; Функция конкатенации строк
concat:
; Входные параметры:
; ebx - адрес первой строки
; ecx - адрес второй строки
; Выходные параметры:
; str1 содержит конкатенированную строку
; Найти конец первой строки
xor eax, eax
find_end1:
cmp byte [ebx + eax], 0
je end_find1
inc eax
jmp find_end1
end_find1:
; Скопировать вторую строку в конец первой
mov edi, eax ; edi - длина первой строки
xor eax, eax ; сброс счетчика
copy_str2:
mov al, [ecx + eax]
mov [ebx + edi], al
inc edi
inc eax
cmp al, 0
jne copy_str2
ret
Разработать в среде программирования SASM на языке программирования
Ассемблер программу:
Задача: написать программу, которая будет реализовать функцию конкатенации
(склейки) двух строк. Программа принимает на вход две строки, находящиеся в памяти и
дописывает вторую в конец первой так, чтобы первая строка представляла из себя одну строку
равную конкатенации двух исходных. Получившуюся в результате работы программы строку
программа выводит в окно «Вывода».