
13.12.2009, 16:03
|
|
Познающий
Регистрация: 10.04.2008
Сообщений: 51
С нами:
9518788
Репутация:
0
|
|
Описание подпрограммы (assembler)
strcat - добавляет копию строки, указанной как src к
концу строки, указанной как dest, заменяя при этом
последний знак строки dest первым знаком строки
src.
помогите разобрать каждую строчку.)))) и почему мы выделяем где-то 12 памяти, где-то 16 и тп
.intel_syntax noprefix
.globl my_strcat
.type my_strcat, @function
my_strcat:
push ecx
push edx
mov edx, [esp+12]
find_end:
mov al, BYTE PTR [edx]
inc edx
cmp al, 0
inc find_end
prepare:
mov ecx, edx
mov edx, [esp+16]
copy:
mov al, BYTE PTR [edx]
inc edx
mov BYTE PTR [ecx-1], al
inc ecx
cmp al, 0
jne copy
exit:
pop edx
pop ecx
mov eax, [esp+12]
|
|
|