ldd (instrukce)

ldd nebo LDD je instrukce procesoru Z80 a procesorů AVR.

Instrukce procesoru Z80

Instrukce patří do skupiny instrukcí pro přenos bloků.[1] Instrukce přenese jeden byte z adresy, na kterou ukazuje registr HL, na adresu, na kterou ukazuje registr DE.

Kód instrukce
76543210
1. byte 11101101
2. byte 10101000

Délka instrukce je dva byty, kód instrukce v šestnáctkové soustavě je EDA8, první byte je prefix ED.

Přenos bytu probíhá v následujících krocích:

  1. přenesení hodnoty bytu z adresy, na kterou ukazuje registr HL, na adresu, na kterou ukazuje registr DE,
  2. snížení hodnoty v registrech HL a DE o jedničku,
  3. snížení hodnoty v registru BC o jedničku,
  4. otestování hodnoty v registru BC, pokud je v registru nula, vynulování příznaku P/V, jinak nastavení příznaku P/V.[1][2] Instrukce neovlivňuje příznak Carry.[1]

Instrukce ke svému vykonání potřebuje 4 M-cykly a doba jejího vykonání trvá 16 T-cyklů.[2] V instrukční sadě procesoru Intel 8080 instrukce odpovídající instrukcui ldd není.[3]

Instrukce je vhodná v případě, kdy je přenášen paměťový blok mezi dvěma adresami, kdy je paměťový blok přenášen od svého konce, a po přenesení každého bytu je potřebné provést nějakou akci.[1] Je-li paměťový blok přenášen od svého začátku, je vhodné použít instrukci ldi.[1]

Instrukce procesorů AVR

U procesorů AVR instrukce LDD slouží pro načtení hodnoty z paměti do registru, kdy adresa v paměti je určena hodnotou ukazatele zvýšeného o konstantu.

Reference

  1. VILÍM, Tomáš. Assembler a ZX Spectrum, 1. díl. Ústí nad Labem: Proxima - Software, 1992.
  2. ZAKS, Rodnay. Programming the Z80. [s.l.]: Sybex, 1981. 624 s. (Third edition). Dostupné online. ISBN 0-89588-094-6. S. 348–349. ((anglicky)) Poznámka: Odkazovaný soubor má desky z jiného vydání knihy, které navíc vyšlo i pod jiným názvem a s jiným ISBN
  3. DURDA, Frank. 8080/Z80 Instruction Set [online]. [cit. 2017-09-27]. Dostupné v archivu pořízeném dne 2016-02-11. ((anglicky))

Literatura

Související články

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.