Ldd (instrukce)
Author
Albert FloresInstrukce procesoru Z80
Instrukce patří do skupiny instrukcí pro přenos bloků. 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. +more 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. Instrukce neovlivňuje příznak Carry.
Instrukce ke svému vykonání potřebuje 4 M-cykly a doba jejího vykonání trvá 16 T-cyklů. V instrukční sadě procesoru Intel 8080 instrukce odpovídající instrukcui ldd není.
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. Je-li paměťový blok přenášen od svého začátku, je vhodné použít instrukci ldi.
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.