Assemblery pro x51

Jan Rehak Rehak
Středa Březen 17 11:34:58 CET 2004


Hi

Chystam se uverejnit clanek o kompilovani pro X51, a protoze nejsem
dostatecne zbehnuty v problematice linkovani rozsahlych souboru a
kompilovani z nekolika knihoven, prosim vas o vas nazor na tento
prispevek a pripadne o jeho doplneni o komplikovanejsi varianty...

PS: protoze jsou vanoce, preji vsem klid, mir a vypnute pocitace...

Jan Rehak       
-----------------------------------------------------------------------
Jak zkompilovat soubor v assembleru do souboru .BIN

Množí se dotazy, jak vytvořit soubory .BIN pro nějaký procesor. Tento
stručný návod, by vám měl pomoci v začátcích.

Budeme uvažovat modelový případ, že programujete v assembleru. Program,
nebo spíš textový soubor, který je programem  assembleru napíšete v
jakémkoli editoru. Tento soubor potom zkompilujete pomocí assembleru,
který lze získat volně na internetu na objektový soubor s příponou .OBJ.
Tohoto souboru lze s výhodou použít např. ke zpětnému odlaďování vašeho
programu, neboť obsahuje v programu používané názvy návěští a
proměnných,  informace o systémových registrech atd....

Tento soubor je generován např. kvůli větším projektům, kde se výsledný
kód vytváří z několika takovýchto souborů. Tento soubor je potřeba
přeložit na data vhodná v uložení do paměti programu. K tomu lze použít
např. utilitu OBJHEX.EXE (nebo OH.EXE) od firmy Intel. Výstupem je nyní
soubor ve formátu .HEX. Tento formát se používá např. pro výpisy
programů ve strojovém kódu do časopisů, protože kromě dat, obsahuje
každý řádek zároveň kontrolní součet. Převést tento formát do
požadovaného .BIN jež nebývá problém. Často to umí i programátor pamětí
sám. Pokud je to potřeba, lze na to použít např. utilitu HEXBIN.EXE.  Na
tomto místě by bylo vhodné upozornit na existenci několika formátu
souboru .HEX. Nejčastěji používaná bývá specifikace podle firmy Intel v
8-mi bitovém režimu. 

K assembleru, kterým budete kód kompilovat, bych měl ale něco dodat.
Speciálně pro případ strojová kód rodiny x51 je assemblerů k dispozici
veliké množství. Bohužel nejsou často navzájem 100% kompatibilní. Např.
některé vyžadují striktní pojmenování akumulátoru jako A, jiné Acc a
některé vyžadují to, či ono podle konkrétní instrukce. Proto je dobré
začínat s konkrétním assemblerem a používat nadále pokud možno stále
tento. Výrazné rozdíly jsou často také v interpretaci makroinstrukcí. 
Často se také vyskytují assemblery, které generují přímo soubor .HEX.
atd....
Vzhledem k těmto zmatkům, je považováno za slušnost používat v
distribuovaných rutinách buď základ,  nebo připsat, v jakém assembleru
to bylo kompilováno. 

- Jeste k tomu prilozim zminovane utility a nejaky assembler vcetne
manualu....
------------------------------------------------------------------------


Email : Rehak@mobil.cz
Home  : Http://cs.felk.cvut.cz/~rehakj/
FSg   : Http://fsg.mobil.cz
Tel.  : 0603 / 451 709

PS: Pripojte si FSg news - http://fsg.mobil.cz/newsy.htm







Daląí informace o konferenci Hw-list