Ldi
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 | 0 | 0 | 0 | 0 |
Délka instrukce je dva byty, kód instrukce v šestnáctkové soustavě je EDA0, 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, # zvýš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ů. +more V instrukční sadě procesoru Intel 8080 instrukce odpovídající instrukci ldi 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 začátku, 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 konce, je vhodné použít instrukci ldd.