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

kvr
kvr (neregistrovaný)
8. 7. 2004 10:00

hello

A co testy, exit code atd. ? A taky pametova efektivita ;o) No nic, omlouvam se za lehce off-topic...

.section .text

msg:
.ascii "Hello world!\n"
msglen = .-msg

.globl _start
_start:
xorl %ebx, %ebx
incl %ebx
movl $msg, %ecx
movl $4, %eax
movl $msglen, %edx
int $0x80
xorl %ebx, %ebx
cmpl $msglen, %eax
sets %bl
xorl %eax, %eax
incl %eax
int $0x80

pht
pht (neregistrovaný)
8. 7. 2004 13:34

Re: hello

xorl %eax, %eax
incl %eax

casy 386 uz sou pryc
"movl $1, %eax" je podle me rychlejsi

kvr
kvr (neregistrovaný)
8. 7. 2004 15:51

Re: hello

Tady slo o pamet, ne o rychlost ;)

... jinak jeste jedna pripominka k clanku - to, ze je cislo kladne, neznamena, ze syscall byl uspesny. Lepsi je testovat, zda ret >= (unsigned)-1024. Kernel vraci mj. i pointery, ktere zabiraji cely rozsah size_t a v takovem pripade k chybe doslo kdyz viz vyse. Mmch, presneji vraci defakto -errno, ktere se pak v libc uklada a konverti na -1/NULL/...

Michal Ludvig
Michal Ludvig (neregistrovaný)
8. 7. 2004 19:02

Re: hello

> Tady slo o pamet, ne o rychlost ;)

Tyyy brďo, dva usporene bajty ;-)

PaJaSoft
PaJaSoft (neregistrovaný)
12. 7. 2004 14:22

Re: hello

Jsou situace, kdy i ten pitomej bajt muze rozhodovat o Vasem byti i nebyti (coz je mimochodem otazka jednoho bitu:->)
Co se tyce techto uspor, mozna Vas to prekvapi, ale treba toto byl problem posledniho funkcne pristaleho vozitka na Marsu...
A rozdelovani zateze mezi pametovy radic (bomba! uz mame 2 kanaly po desetiletich:-()a ALU neni rozhodne k zahozeni...

Zasílat nově přidané příspěvky e-mailem