All pastes #3498 Raw Edit

Anonymous

public ini v1 · immutable
#3498 ·published 2004-12-29 12:44 UTC
rendered paste body
segment .datatextas db "kvadratas yra: ",0segment .bss ; bss segmentas neapibrezhtiems duomenimsinput resd 1 ; rezervuojam vieta vienam doublewordui (4 baitai)segment .text ; texto segmentas kur prasideda programos operacijosglobal _start ; defaultine funkcija kuria ELF linkeris ishkviecia_kernel: ; mes naudosim procedura interaptams nes jos metu bus sukuriamas naujas stekas int 80hret_start:  ; read()push dword 15 ; buferio dydispush dword input ; buferispush dword 0 ; STDIN_FILENO numerismov eax,3 ; read() numeriscall _kernel ; kvieciam funkcijaadd esp, byte 12 ; ishvalom steka kad galima butu panaudot kitas f-jas; ---------- ATLIEKAM SHIEK TIEK ARITMETINIU VEIKSMU --------;mov eax,[input] imul eax ; edx:eax = eax*eax mov ebx,eax; write() -- writinam inputapush dword 10; buferio dydis push dword input ; zhinutes adresaspush dword 1 ; pushinam STDOUT_FILENO kuris lygus 1mov eax,4h ; write() syscallas == 4call _kernel ; kvieciam funkcija add esp, byte 12 ; ishvalom steka ; write() -- writinam "kvadratas yra: "push dword 14; buferio dydis push dword textas ; zhinutes adresaspush dword 1 ; pushinam STDOUT_FILENO kuris lygus 1mov eax,4h ; write() syscallas == 4call _kernel ; kvieciam funkcija add esp, byte 12 ; ishvalom steka ; write() -- writinam kvadratapush dword 10; buferio dydis push dword ebx ; zhinutes adresaspush dword 1 ; pushinam STDOUT_FILENO kuris lygus 1mov eax,4h ; write() syscallas == 4call _kernel ; kvieciam funkcija add esp, byte 12 ; ishvalom steka ; exit(0)push dword 0 ; pirmas ir paskutinis argumentas yr 0mov eax,1h ; exit() syscallas == 1call _kernel ; interaptas i kerneli ,kuris vel kviecia exit()