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

WinAsm Studio

» Neobsahuje debugger
» Freeware
» Pre použitie je nutné zaobstarať súbory rôznych distribúcií assemblerov a nakonfigurovať cesty k nim
» Určené na vývoj 32-bit aplikácií pre Windows
» Nejde o klasický textový editor ale o editor kódu, čiže ponúka podporu písania kódu, dopĺňa funkcie alebo ponúka dostupné funkcie
» Obsahuje explorer pre prehľad častí z ktorých sa projekt skladá
» Podporuje templates. Čiže umožnujú vložit kostru kódu a odbremení od týchto banalít programátora

Obr.4 Náhľad vývojového prostredia WinAsm

         


Odkazy na stránky s podobným zameraním

Vývojové prostredia pre Windows
http://www2.fiit.stuba.sk/~parizkova/PREDMETY/ASP/MATERIALY/assemblerIDE.doc

Novák, Michal: Prostredia pre programovanie v symbolickom jazyku asembler pod OS Windows
http://www2.fiit.stuba.sk/~parizkova/PREDMETY/ASP/MATERIALY/ Prostredia-windows.doc

WinASM
http://www.winasm.net/

MASM32
http://www.masm32.com/

Slovník skratiek

  • JSA - jazyky symbolických adries
  • VPJ - vyššie programovacie jazyky
  • CPU - procesor
  • ISA - inštrukčná sada
  • ASM - assembler
  • OS - operačný systém

Diskusia