ldd (instrukce)
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 | ||||||||
---|---|---|---|---|---|---|---|---|
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
1. byte | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
2. byte | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
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:
- přenesení hodnoty bytu z adresy, na kterou ukazuje registr HL, na adresu, na kterou ukazuje registr DE,
- snížení hodnoty v registrech HL a DE o jedničku,
- snížení hodnoty v registru BC o jedničku,
- 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
- VILÍM, Tomáš. Assembler a ZX Spectrum, 1. díl. Ústí nad Labem: Proxima - Software, 1992.
- 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
- DURDA, Frank. 8080/Z80 Instruction Set [online]. [cit. 2017-09-27]. Dostupné v archivu pořízeném dne 2016-02-11. ((anglicky))
Literatura
- Príručka strojového kódu pre ZX Spectrum. [s.l.]: Ultrasoft, 1993.
- AVR Assembler [online]. [cit. 2017-09-27]. Kapitola Instructions. Dostupné online. ((anglicky))