ahoj v serialu jiste pokracuj :) alespon se clovek dozvi neco o unixu jinym zpusobem :)
ale mam pocit, ze v kodu:
----
_beginning: ;už to vše začíná
mov eax, 4 ;číslo systémového voání /write/
mov ebx, 1 ;STDOUT se značí
mov ecx, pozdrav ;doplnění adresy řetězce
mov edx, 014 ;počet znaků našeho pozdravu
int 0x80 ;kernel může přijít ;)
mov eax, 1 ;zde se nám prográmek ukončí
mov ebx, 0
int 0x80
SECTION .data ;sekce s uloženými daty
pozdrav db "Hello, ROOT.cz", 0xa ;řetězec + konec řádku (LF)
len equ $ - pozdrav ;přiřazení délky řetězce symbolu
----
je nedostatek (nezkousel jsem to)
nedostatek:
mov edx, 014 ;počet znaků našeho pozdravu
bych nahradil
mov edx, len ;počet znaků našeho pozdravu
pokud se pletu, tak mi pls vysvetli proc :) thx
caf
Vlákno názorů k článku
Programujeme v jazyce Assembler v Linuxu: Trochu praxe
michal_sjx (neregistrovaný)
8. 7. 2004 9:01
mozna preklep
Stepan Kasal (neregistrovaný)
8. 7. 2004 9:27
Re: mozna preklep
Ta delka 014 asi byla spravne, kdyz tam byl text "Hello world". Redakcni zasahy se holt musi delat citlive.
michal_sjx (neregistrovaný)
8. 7. 2004 9:33
Re: mozna preklep
V tom jsem problem nevidel, retezec Hello, ROOT.cz ma 14 znaku, ale myslel jsem, ze kdyz se nekde inicializuje promena len, tak by se taky mohla vyuzit :)
klaun2 (neregistrovaný)
10. 5. 2006 15:22
Re: mozna preklep
Tak,tak... :-) Pritom v kodu, odkud autor bezesporu cerpal, ta promenna uzita je! (http://asm.sourceforge.net/intro/hello.html).
Autor clanku mohl jeste zacatecnikum vysvetlit, co znamena ten "tajemny" dolar "$" a uvest jeste jiny priklad, jak se vypocita delka retezce, napr:
zprava_start
db "Hello, Sourceforge.net", 0xa
zprava_end
delka equ zprava_end - zprava_start
Autor clanku mohl jeste zacatecnikum vysvetlit, co znamena ten "tajemny" dolar "$" a uvest jeste jiny priklad, jak se vypocita delka retezce, napr:
zprava_start
db "Hello, Sourceforge.net", 0xa
zprava_end
delka equ zprava_end - zprava_start

