ldi nebo LDI je instrukce procesoru Z80 a procesorů AVR.

Instrukce 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. 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. 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

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í 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.

Instrukce procesorů AVR U procesorů AVR instrukce LDI slouží k uložení konstanty, která je součástí instrukčního kódu instrukce, do registru. Délka instrukce je 16 bitů. Instrukce LDI nemá svůj ekvivalent mezi instrukcemi ST.

Reference

Literatura

Související články ld ldd ldir cpi LDS

Kategorie:Z80 Kategorie:Procesory