Vývojové prostredia pre JSA
Čo je vývojové prostredie?
IDE – Integrated Developement Enviroment – taktiež známe ako Integrated Design Enviroment a Integrated Debbuging Enviroment je nástroj, ktorý slúži programátorovi pri vývoji softvéru. Existujú aj IDE podporujúce viac programovacích jazykov, napríklad Eclipse IDE, NetBeans alebo Microsoft Visual Studio. Čo sa týka hľadania IDE pre JSA, je to trochu zložitejšie. Treba vymenovať dôležité obmedzenia pri hľadaní a výbere toho správneho IDE, ktorý by nám mal čo najviac uľahčiť a spríjemniť vývoj aplikácií v jazyku symbolických adries.
Čo ovplyvňuje výber výber vývojového prostredia pri JSA?
Najdôležitejšie obmedzenie je platforma, nad ktorou chceme toto IDE používať - teda operačný systém, nad ktorým bude náš vývoj aplikácii prebiehať. V prípade operačného systému DOS existoval kvalitný prostriedok Turbo Assembler od Borlandu. Ten však v dnešnej dobe nemá uplatnenie vzhľadom na požiadavky najmä na používateľské rozhranie. V prípade operačného systému Linux existuje niekoľko vhodných IDE, ktoré už spĺňajú požiadavky vyplývajúce z potrieb programátorov dnešnej doby. No prekážkou je samotný nekomfortný Linux.
Mnohé distribúcie assemblerov
Problém v prípade IDE pre JSI spočíva aj v tom, že existuje veľmi veľa rôznych assemblerov, ktoré sa líšia v používaní operandov, adresovaní či v kľúčových slovách. A tak nie je jednoduché vytvoriť IDE pre veľa rôznych distribúcií. Hoci základ všetkých spočíva v tom istom, práve tieto malé odlišnosti spôsobujú, že neexistuje univerzálny IDE, ktorý by všetky tieto distribúcie pokryl.
Najpoužívanejšie JSA a assemblery
Tie najpoužívanejšie a najbližšie distribúcie sú TASM, FASM, MASM, NASM. V každom z nich sú isté špecifiká a tak sa môže stať, že program napísaný v TASM nepôjde preložiť v MASM, prípadne FASM. Možno sa to netýka programu „Hello World“, ale určite sa to týka rozsiahlejších programov. Ak je programátor navyknutý na TASM a chcel by používať IDE, ktoré je určené pre MASM, tak bude musieť urobiť kompromis a naučiť sa odlišnosti špecifické pre MASM. Tie však nebývajú markantné.
Rozdelenie vývojových prostredí
IDE rozdeľujeme do dvoch základných skupín podľa toho či ponúkajú len jednu distribúciu assembleru alebo aj viac a užívateľ si môže zvoliť akým assemblerom sa má jeho kód preložiť. Ja popíšem len niekoľko základných vývojových prostredí z oboch skupín.
IDE pre jednu distribúciu
FASM
Tento Flat assembler je rýchly kompilátor zdrojových programov pre procesory s x86 architektúrou. Existuje viac verzií pre rôzne operačné systémy. Všetky verzie sú navrhované na použitie z príkazového riadka. Verzie potrebujú 32-bitový procesor, no sú schopné vygenerovať programy, ktoré sú určené pre 16-bitovú architektúru x86 procesorov. Flat assembler používa intelovskú syntax assemblerovských inštrukcií, no je možné prispôsobiť si ho používaním preprocesorových „schopností“ – makroinštrukcie a symbolické konštanty. Obsahuje aj vlastnú množinu direktív – teda inštrukcií pre kompilátor. Všetky symboly sú case-sensitive. Tento assembler je veľmi jednoducho prenosný. No keďže sa v tomto dokumente venujeme používateľským rozhraniam je potrebné spomenúť, že existuje také jedno aj pre FASM.
Základný popis IDE FASM
» IDE vytvorené pre Windows
» Freeware
» Neexistuje dokumentácia, ale obsahuje vzorové príklady
» Obsahuje aplikáciu FASM.exe, ktorá slúži na preklad kódu
» Oddeľuje funckie Run a Compile
» Hlásič chýb podrobne popíše chybu a označí aj príslušný riadok
» Ide prakticky o textový editor, základné funckie FASM sa zvýrazňujú
» Prostredie neponúka veľa možností – vysoká prehľadnosť
» Ponúka možnosť mať otvorených viac okien naraz
Obr.1 Náhľad vývojového prostredia pre FASM
MASM32
MASM – Microsoft Macro Assembler. Je to ďalšia distribúcia assembleru, ktorá sa odlišuje od FASM, prípadne TASM už v samotnom písaní programu. Teda program napísaný v TASM s veľkou pravdepodobnosťou nebude možné skompilovať pomocou MASM bez nejakých úprav.
Základný popis IDE MASM32
» Vytvorený Microsoftom
» IDE podobné horeuvedenému FASM
» Existujú aplikácie LINK a MASM, vytvorené na použitie z príkaz. riadku
» Ponúka sprievodcu na tvorbu Windows aplikácií
» Dá sa vytvoriť vlastné menu
» Pri kompilácií sa otvárajú externé okná – IDE sa stáva neprehľadné
Obr.2 Náhľad vývojového prostredia MASM 32
IDE pre viac distribúcií
MPL
» Vyvíjané spoločnosťou Macrotech
» Obsahuje generátory kódu
» Ľahké programovanie používateľského rozhrania
» Ponúka možnosť prekladu assemblermi TASM, MASM, FASM
» Neprehľadné opravovanie chýb, nie je priama väzba medzi hlásičom chýb a kódom
» Neobsahuje debugger
Obr.3 Náhľad vývojového prostredia MPL