Kod:
bölüm .text:
Küresel mystrlen; int mystrlen (char * tampon);
Küresel MyPrint; geçersiz MyPrint (char * tampon);
Küresel _start; int _start (int argc, char * argv [])
; ESP + 4 = tampon
mystrlen:
xor eax, eax
Aralık eax
mov ebx, [esp + 4]
strloop:
inc eax
cmp [ebx + eax], bayt 0
JnE strloop
çürümek
; ESP + 4 = tampon
MyPrint:
mov ecx, [esp + 4]
itme ecx
mystrlen çağrı
mov edx, eax
mov eax, 4
mov ebx, 1
int 80h
pop ecx
çürümek
_başlama:
pop eax; argc
cmp eax, 2; (Argc = 2!) Eğer {end (); }
JnE sonu
pop eax; argv [0] - program adı
pop eax; argv [1] - ilk argüman
itme eax
MyPrint çağrı; MyPrint (argv [1]);
son:
mov eax, 1
mov ebx, 0
int 80h; return 0
