Strojová instrukce: Porovnání verzí

Smazaný obsah Přidaný obsah
SieBot (diskuse | příspěvky)
m robot přidal: zh:指令
Dinybot (diskuse | příspěvky)
m robot: typografické a kódové korekce a náhrady přesměrování podle specifikace
Řádek 16:
Následující jsou uvedeny v instrukčním kódu procesoru Síemens SAB 80C166. Z hlediska výkladu je vhodný, protože jde o jednoduchý 16 bitový procesor s poměrně čistou, nijak extrémní architekturou.
 
* <tt>'''add r0, r2'''; &ndash; </tt>sčítání - přičte do registru r0 hodnotu uloženou v registru r2
* <tt>'''addc r1, r3'''; &ndash; </tt>sčítání s přenosem - přičte do registru r0 hodnotu registru r1 a příznaku přenosu C
* <tt>'''mov 1234h, r0'''; </tt> &ndash; přesun - uloží do paměti na adresu 1234h hodnotu z registru r0
* <tt>'''mov 1236h, r1'''; </tt> &ndash; přesun - uloží do paměti na adresu 1236h hodnotu z registru r1
* <tt>'''mov [r7], r0'''; </tt> &ndash; přesun - uloží na adresu určenou registrem r7 hodnotu z registru r0
* <tt>'''cmp r4, r5'''; </tt> &ndash; porovnání - porovná hodnoty registrů r4 a r5
* <tt>'''jmpr cc_UGT, 8100h'''; </tt> &ndash; podmíněný skok - pokud byla hodnota registru r4 vyšší, pokračuje program na adrese 8100h
 
Instrukce se dělí podle svého určení na přesunové, aritmeticko-logické a řídící instrukce. Výrobci většinou používají mnohem jemnější rozdělení (např. přesuny, aritmetické, logické, rotace, násobení a dělení, skoky, zásobníkové, systémové instrukce).
Řádek 35:
Aritmeticko-logické instrukce slouží k vykonávání aritmetických nebo logických operací. V podstatě jde o to, že se zdrojovými operandy se provede určitá matematická operace, jejíž výsledek je uložen do cílového operandu. Velmi častý je případ, kdy jeden ze zdrojových operandů slouží současně jako cílový. To znamená, že např. instrukce add r0, r1 nejprve sečte hodnoty registrů r0 a r1, přičemž výsledek uloží do registru r0.
 
Typickými funkcemi aritmetickou-logických instrukcí jsou [[sčítání]] (ADD), [[odečítání]] (SUB), porovnávání (CMP), bitové [[logický součet|logické součty]] (OR) a [[logický součin|logické součiny]] (AND), bitové posuny a rotace.
 
Aritmetické nebo logické nemusí být vždy dvouoperandové, instrukce realizující např. absolutní hodnotu, násobení mínus jedničkou, nebo dvojkový doplněk mají pouze jeden operand.
 
Podle možností daného procesoru se liší šířka operandů (8/16/32 [[bit]]ů) a jejich typ. Některé procesory (např. [[PIC]]) mají pouze instrukce pro jednoduché operace s malými celými čísly (viz. [[byte]]), jiné mohou přímo pracovat s čísly v plovoucí řádové čárce (např. dle standardu [[IEEE 754]]).
 
== Instrukce a příznakové registry ==