Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vlákno názorů k článku
Programujeme v jazyce Assembler v Linuxu: Trochu praxe

michal_sjx
michal_sjx (neregistrovaný)
8. 7. 2004 9:01

mozna preklep

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

Stepan Kasal
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
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
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
klaun2
klaun2 (neregistrovaný)
10. 5. 2006 15:26

Re: mozna preklep

jeste dvojtecky... :-)
Zasílat nově přidané příspěvky e-mailem