LDIR: Revizyonlar arasındaki fark

Retrojen Wiki sitesinden
Gezinti kısmına atla Arama kısmına atla
Değişiklik özeti yok
Değişiklik özeti yok
 
55. satır: 55. satır:
  ld bc, 6143
  ld bc, 6143
  LDIR
  LDIR
== Ayrıca Bakınız ==
[[LDI]] | [[LDDR]] | [[LDD]]


== Komut Ayrımı ==
== Komut Ayrımı ==
69. satır: 65. satır:


http://retrojen.org/pano/index.php?topic=539.msg4185#msg4185
http://retrojen.org/pano/index.php?topic=539.msg4185#msg4185
== Ayrıca Bakınız ==
[[LDI]] | [[LDDR]] | [[LDD]]

17.19, 30 Nisan 2015 itibarı ile sayfanın şu anki hâli


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.


Örnek Kod

Zx Spectrum ekranını temizlemek:

LD hl,16384  
ld (hl),0
LD de,16385
ld bc, 6143
LDIR

Komut Ayrımı

LDIR 48/128 -> pc:4,pc+1:4,hl:3,de:3,de:1 x 2,[de:1 x 5]

Kaynakça

Retrojen Üyeleri: Memrah Ref

http://retrojen.org/pano/index.php?topic=539.msg4185#msg4185

Ayrıca Bakınız

LDI | LDDR | LDD