A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Jazyk symbolických inštrukcií[1] alebo jazyk symbolických adries (skr. JSI či JSA), nesprávny populárny názov tiež assembler či asembler pozri (asembler) je pre ľudí na čítanie vhodná forma strojového kódu. Zjednodušenie je založené na nahradení binárnych kódov skrátenými názvami (tzv. mnemonikou) „príkazov“ (inštrukcií).[1]
Pracovať priamo so strojovým kódom je pre človeka veľmi zložité, pretože programy v strojovom kóde sú postupnosťami čísel. Preto bolo potrebné vytvoriť jazyk, ktorý by bol zrozumiteľný pre človeka a zároveň by bol priamočiaro transformovateľný do strojového kódu. Jazyk symbolických adries je programovací jazyk, v ktorom každý kód inštrukcie generuje jednu inštrukciu strojového jazyka, viazanú na konkrétny procesor počítača, kontrastne k vyššiemu programovaciemu jazyku, kde sa príkaz už neviaže na konkrétny počítač alebo operačný systém.
Napríklad v počítači s procesorom kompatibilným s architektúrou x86/IA-32 tento strojový kód:
10110000 01100001
možno v JSI zapísať takto:
mov al, 061h
čo znamená, že treba presunúť hodnotu 61 v šestnástkovej sústave (97 v desiatkovej) do registra s názvom „al“.
Základné pojmy
- Inštrukcia procesora – základný prvok činnosti, ktorú vykonáva procesor (Central Processor Unit).
- Register – (register procesora) malá, veľmi rýchla pamäťová oblasť umiestnená vo vnútri procesora. Register je pomenovaný. Možno do neho uložiť obvykle len niekoľko bitov informácií. Je používaný ako dočasný pamäťový priestor pre dáta, s ktorými sa práve počíta.
- Adresa – celé číslo ukazujúce na miesto v pamäti
- Prerušenie – je udalosť, pri ktorej procesor prestane vykonávať inštrukcie práve vykonávaného programu a dočasne začne vykonávať program iný, obsluhujúci prerušenie
- ALU (aritmeticko logická jednotka) – Vykonáva operácie spojené so spracovaním dát: matematické, logické a posuvy (rotácie).
- Pamäť – (memory) zariadenie umožňujúce uchovať informácie (vo forme binárne kódovaných dát).
- Adresa v pamäti – číselné označenie miesta v pamäti
- Radič – zariadenie prevádzajúce príkazy v symbolickej forme (inštrukcie) na postupnosť signálov ovládajúcich pripojené zariadenie
Niektoré inštrukcie procesorov typu x86
Inštrukcia MOV
Syntax: MOV cieľ, zdroj
Slúži k presunom, kopírovaniu zdrojového operandu do cieľového. Všetky operandy inštrukcie mov musia mať rovnakú veľkosť.
Príklad použitia:
mov ax, ;do registra ax vloží hodnotu premennej cislo
mov , ax ;do premennej cislo vloží hodnotu registra ax
mov bx, cx ;do registra bx vloží hodnotu registra cx
mov al, 1 ;do registra al vloží konštantu 1
mov ax, 0 ;vynuluje register ax (al aj ah)
Aritmetická inštrukcia ADD
Syntax: ADD o1, o2 Sčíta oba operandy a výsledok uloží do operandu o1, jeho predchádzajúca hodnota je stratená.
Príklad použitia:
mov ax, 5 ;do registra ax vloží 5
mov cx, 10 ;do registra cx vloží 10
add cx, ax ;sčíta cx + ax = cx
Aritmetická inštrukcia SUBB
Syntax: SUBB o1, o2 Odčíta o1 – o2 a výsledok sa uloží do o1; jeho pôvodná hodnota sa stratí.
Príklad použitia:
add eax, 10 ;k registru eax pripočíta 10
subb ecx, ebp ;register ecx – ebp = ecx
subb ah, al ;od registra ah odčíta al a výsledok uloží do ;ah
Aritmetická inštrukcia INC a DEC
Syntax: INC o1 alebo DEC o1 Inštrukcia pripočítava (INC) alebo odpočítava (DEC) jediný operand o jednotku.
Príklad použitia:
add al, 1 ;správne ale požiadavku možno
inc al ;splniť aj takto
dec dx ;odčítame 1 od hodnoty registra dx
inc word ;pripočítame 1 do šestnásťbitovej premennej ;číslo, napovedali sme rozsah (0-65535, tj. 16 ;bitov)
Aritmetická inštrukcia MUL a DIV
Syntax: MUL r/m8/16/32 alebo DIV r/m8/16/32
Inštrukcia MUL (multiply) slúži na násobenie, DIV (divide) slúži na delenie. Aby nebola inštrukcia MUL a DIV príliš zložitá, bolo rozhodnuté, že jeden operand a výsledok bude uložený v (rovnakom) pevne danom registre. Umiestnenie druhého operandu bolo ponechané na programátorovi.
Príklad použitia:
mov al, bh ;register bh nahrá do al
mul cl ;vynásobí al s cl, výsledok bude uložený v ax
mov ax, 25 ;do ax vložíme 25
mov cl, 5 ;do cl vložíme 5
div cl ;vydelíme cl (ax / cl = výsl. (v registri ax))
mov bx, ax ;výsledok prekopírujeme do bx
Prekladače JSA
Existuje veľké množstvo prekladačov JSA, pre architektúru x86 napríklad:
- Flat Assembler (FASM) – open source assembler pre procesory x86, sebakompilujúci
- Netwide Assembler (NASM) – open source assembler pre procesory x86, sám napísaný v jazyku C
- GNU Assembler (gas) – súčasť projektu GNU, multiplatformový, používa sa predovšetkým pre kód vložený v programoch v jazyku C
- Microsoft Macro Assembler (MASM) – prekladač od firmy Microsoft
- Turbo Assembler (TASM) – překladač firmy Borland
Referencie
- ↑ a b jazyk symbolických inštrukcií. In: Encyclopaedia Beliana . Bratislava: Slovenská akadémia vied, . Dostupné online.
Literatúra
- JÁNOŠÍKOVÁ, Ľudmila. Programovanie v jazyku symbolických adries pre 32-bitové procesory Intel. Žilina : Žilinská univerzita, 2000. Dostupné online. ISBN 80-7100-723-4.
Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok. Podrobnejšie informácie nájdete na stránke Podmienky použitia.
Antény
Chemické zdroje elektriny
Chladenie v elektrotechnike
Elektrická sústava automobilu
Elektrická trakcia
Elektrické prístroje
Elektrické súčiastky
Elektrické spotrebiče
Elektrické stroje
Čítanie (elektrotechnika)
Činný výkon
Štatistická dynamika
Živý vodič
Admitancia
Antiparalelné zapojenie
Asynchrónny motor
Blúdivý prúd
Bočník (elektrotechnika)
Diak (polovodičový prvok)
Displej s kvapalnými kryštálmi
Elektrická inštalácia
Elektrická rezonancia
Elektrická sila
Elektrická vodivosť
Elektrické zariadenie
Elektrický obvod
Elektrický zvonec
Elektroenergetika
Elektromer
Elektrometer
Elektromobil
Elektromotor
Elektromotorické napätie
Elektrotechnický náučný slovník
Elektrotechnika
Elektrotechnológia
Fázor
Faradayova klietka
Frekvencia (fyzika)
Graetzov mostík
Impedancia
Indukčnosť
Induktancia
Istič
Izolácia (elektrotechnika)
Izolant
Jadro vodiča
Jednobran
Jednosmerný prúd
Joulovo teplo
Katóda
Koaxiálny kábel
Kompenzácia účinníka
Konduktometria
Konektor (elektrotechnika)
Korónový výboj
Lanko (elektrotechnika)
Leptanie
Logické hradlo
Magnetická susceptibilita
Magnetizácia (veličina)
Merný elektrický odpor
Mobilné zariadenie
Napájací zdroj
Napäťový chránič
Napäťový násobič
Nortonova veta
Odpínač
Odpojovač
OLED
Olovený akumulátor
Paralelné zapojenie
Peltierov článok
Plošná hustota elektrického prúdu
Poistka (elektrotechnika)
Posuvný prúd
Prúdový chránič
Prenosové médium
Prieletový klystrón
Primárny elektrochemický článok
Reaktancia
Rekuperácia (dopravný prostriedok)
Relé
Reproduktorová výhybka
Rezistancia
Rozhranie (interface)
Sériové zapojenie
Seebeckov jav
Sekundárny elektrochemický článok
Settopbox
Skrat
Sonar
Spínač
Spínaný zdroj
Straty v mikropásikových vedeniach
Striedavý prúd
Stupeň ochrany krytom
Svetelná výbojka
Symetrizačný člen
Technická normalizácia
Tepelné relé
Tepelne vodivostný detektor
Termočlánok
Théveninova veta
Transformátor
Transformátor s fázovou reguláciou
Trojfázová sústava
Tuhá fáza (elektronika)
Tyratrón
Usmerňovač (elektrotechnika)
Uzemnenie
Uzol (vodiče)
Vírivý prúd
Výbojka
Varistor
Ventilátor
Vodič (elektrotechnika)
Voltov stĺp
Vstavaný systém
Zásuvka (elektrotechnika)
Zdroj (elektrotechnika)
Zisk antény
Text je dostupný za podmienok Creative
Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších
podmienok.
Podrobnejšie informácie nájdete na stránke Podmienky
použitia.
www.astronomia.sk | www.biologia.sk | www.botanika.sk | www.dejiny.sk | www.economy.sk | www.elektrotechnika.sk | www.estetika.sk | www.farmakologia.sk | www.filozofia.sk | Fyzika | www.futurologia.sk | www.genetika.sk | www.chemia.sk | www.lingvistika.sk | www.politologia.sk | www.psychologia.sk | www.sexuologia.sk | www.sociologia.sk | www.veda.sk I www.zoologia.sk