Assembler - základy práce

Radek Štěrba

I když jistě existuje mnoho příruček různé kvality o tom, jak programovat na počítači Atari ve assembleru, chtěl bych pomoci těm, kteří se k tomu ještě stále neodhodlali. Proto jsem se rozhodl napsat tento článek. Upozorňuji předem, že mi nejde o vytvoření nějaké učebnice, ale o rady začátečníkům, kteří už o assembleru něco tuší a chybí jim podrobnější vysvětlení.

Myslím si, že nejefektivnějším způsobem bude, když vždy předložím nějaký jednoduchý prográmek a důkladně ho okomentuji.

Pro názvy instrukcí budu používat MNEMO KÓDY (=symbolické názvy instrukcí) shodné s MAC65, neboť je to nejpoužívanější (a jistě nejvýkonnější) překladač assembleru.

Úvod: Nejpodstatnější je zvyknout si na to, že veškeré operace se provádějí pomocí někrerého ze tří registrů. A .. akumulátor X .. indexový registr X Y .. indexový registr Y Každý z těchto registrů má 8 bitů a můžeme je tedy naplňovat hodnotami 0 až 255. Kromě těchto registrů máte k dispozici ještě 256 míst nulté stránky paměti (adresa $0000 až $00FF), které umožňují provádět velice užitečné věci.

Analogie s BASICem:

Pozn. Pouze vy sami si určujete velikost rozsahu té či oné proměnné. Podle toho byste s touto proměnnou měli zacházet.

Př.: Potřebujete 3 prom. v rozsahu 0 až 99, dále pak 2 proměnné 0 až 1000.

Řešení: Pro 1.,2. a 3. proměnnou je nutno vyhradit 3 byte (1 byte pro každou z nich). Skutečný rozsah bude sice 0 až 255, ale to je nejmenší možný rozsah, který je větší než požadovaný. Pro 4. a 5. proměnnou je nutné vyhradit 4 byte (2 byte pro každou z nich). Skutečný rozsah bude sice 0 až 65635, ale to je rovněž nejmenší možný rozsah, který je větší než požadovaný.

U 2-bytových proměnných zjistíme hodnotu následujícím způsobem: HODNOTA=Obsah1Byte+Obsah2byte*256

Upozornění: Pro volbu místa proměnných používejte zásadně jen taková, která jsou volná a nepoužívá je žádný jiný program, který je (a nebo má být) přítomen v paměti během spuštění vašeho programu (Tím myslím DOS a pod.). Umístění a využívaná paměť jednotlivých programů bývá většinou obsažena v jejich popisech, manuálech atd.