Strojová instrukce: Porovnání verzí
Smazaný obsah Přidaný obsah
m robot přidal: zh:指令 |
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''';
* <tt>'''addc r1, r3''';
* <tt>'''mov 1234h, r0'''; </tt>
* <tt>'''mov 1236h, r1'''; </tt>
* <tt>'''mov [r7], r0'''; </tt>
* <tt>'''cmp r4, r5'''; </tt>
* <tt>'''jmpr cc_UGT, 8100h'''; </tt>
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
== Instrukce a příznakové registry ==
|