LDIR
Komut detayları
Komut | Süre (ts) | Açıklama | Bayrak Etkisi (SZHPNC) | Yapılan İş |
---|---|---|---|---|
LDIR (ED B0) | 21/16 | BC=0 olana kadar LDI uygula. | --000- | hedef=kaynak |
Açıklama
LDIR komutu, bellekteki herhangi bir alani baska bir alana kopyalamak icin kullanilan dongusel komutlardan birisidir.
Calisma sekli:
LDIR komutu yurutulmeden once 3 yazmac gerekli parametreler ile yuklenir.
HL ciftine, kopyalanmak istenen (kaynak) alanin baslangic adresi, DE ciftine hedef alanin baslangic adresi, BC ciftine ise baslangic adresinden itibaren kac byte kopyalanacagi yuklenir.
Ardindan LDIR komutu verilerek kopyalama gerceklestirilir.
Gercekte LDIR komutu üç adımı olan bir işlemdir:
1. (hl) deki byte'ı (de)'ye kopyalar 2. HL ve DE yi arttırır BC'yi eksiltir 3. BC = 0 olana kadar bu işlemleri tekrar eder.
Adim adim incelersek, LDIR komutu verildiginde, ilk olarak;
LD (DE),(HL) islemi ile DE'nin isaret ettigi adrese HL'nin isaret ettigi adresteki deger yuklenir.
Ardindan DE ve HL 'nin degerleri 1 arttirilir ve BC 'nin degerinden ise 1 eksiltilir. Dongu kontrol degiskeni olarak BC yazmaci kullanilir ve dongu BC'nin degeri 0 oluncaya kadar tekrar eder. Komutun calisma suresi kopyalanacak byte miktarina bagli olarak değişir.
Kaynakça
http://retrojen.org/pano/index.php?topic=539.msg4185#msg4185