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

Názor k článku
Programujeme v jazyce Assembler v Linuxu: Úvod

Michal Ludvig
Michal Ludvig (neregistrovaný)
1. 7. 2004 12:00

Par pripominek

celé vlákno

Jsem asi hnidopich, ale na zacatku melo byt tucnym pismem uvedeno, ze se jedna o Linux na x86. Mozna je to profesionalni deformace, jelikoz pracuji i s jinymi architekturami. Kazdopadne formulace "Pro systémová volání se v Linuxu používá přerušení int 0x80." je bez uvedeni architektury nesmysl.

Dal:

> Když program zapíše na nealokované místo, bude
> proces ukončen (SIGKILL kernelu).

Tesne vedle - kernel ho sejme signalem SIGSEGV

> Linux však podporuje mnoho formátů spustitelných
> souborů, my se zaměříme třeba na formát ELF -
> executable and linkable format.

Jsem rad, ze padla volba "třeba na formát ELF" - on je totiz nejdulezitejsi a prakticky na Linuxu nejvic pouzivany :-)

> Adresa 0x08048000 [... sem se zavede program]

Kde se tohle cislo vzalo? Muze byt jine?
- Ano muze byt jine a je urceno linkerem pri sestavovani programu. A kde se ho kernel dozvi? V hlavicce ELFu.

> Program obvykle bývá nahrán do 128 MB adresového
> prostoru.

Zase vedle - ten vas konkretni program bude zacinat na adrese 0x08048000, cili tesne _nad_ 128 MB

No nic, necham prudeni a jdu na obed :-))