Home
Strojovo orientované jazyky
Strojový kód
Jazyky symbolických adries
Assembler
Home
»
Assembler
»
Typy
»
Vyššie ASM
Assembler vyššej úrovne
Niekoľko assemblerov ponúka možnosť používať konštrukcie charakteristické pre vyššie programovacie jazyky (IF, WHILE, FOR atď), niektoré dokonca ponúkajú aj objektové prvky ako HLA a TASM. Tieto vymoženosti prispievajú k prehľadnosti kódu aj zjednodušeniu písania kódu. Niektoré assemblery ponúkajú len málo takýchto vymožeností, najčastejšie makrá , niektoré ich neponúkajú vôbec, naopak ostatné assemblery sa na ne špecializujú. Nasledujúca tabuľka ponúka určitý prehľad o podpore vyššich konštrukcií assemblermi.
Obr.1 Podpora vyšších konštrukcií assemblermi
Z niektorých zdrojov sa môžeme dozvedieť, že programovanie v SOJ, ktoré sú prekladané assemblermi vyššej úrovne nie je plnohodnotné programovanie na najnižšej úrovni. Je to nonsens. Aj tieto assemblery podporujú priamo všetky strojové inštrukcie a je len na rozhodnutí programátora, či si všetko naprogramuje jednoduchými inštrukciami alebo použije aj zjednodušujúce súčasti daného assembleru. Ono samozrejme dochádza pri používaní zložitejších štruktúr k určitým stratám na efektivite(podobne ako po preklade kompilátorom z vyšších prog. jazykov) a je len na rozhodnutí programátora, kde si tieto straty môže dovoliť a kde potrebuje mať maximálne rýchle miesta, napísané priamo v inštrukciách procesora.
Program "Hello World"
Obr.2 Program Hello World preložiteľný vyšším assemblerom
Kód vyššie má za úlohu vypísať Hello World. Mohlo by sa zdať, že tento kód nemá nič spoločné s kódom na najnižšej úrovni. V skutočnosti sa však používajú priamo inštrukcie procesora, akurát stdout.put je makro, ktoré sa dá rozvinúť a takto by vyzeral ten kód ak by sme makro rozvili.
Obr.3 Program Hello World bez použitia vyšších konštrukcií
Odkazy na stránky s podobným obsahom
High level assembly language x86
http://webster.cs.ucr.edu/AsmTools/HLA/index.html
High level assembler
http://en.wikipedia.org/wiki/High_Level_Assembly
Charakteristika
Závislosť od CPU
Inštrukčná sada
Registre
Závislosť od OS
Typy
Základné typy
Vyššie ASM
Rýchle linky
» FIIT
» Fórum
» Môj profil
Počítadlo návštev
Anketa
BlueBoard.cz
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
ShoutBoard od BlueBoard.cz