Amiga Dünyası sayı 26, sayfa 36

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 36

Etkilenen flaglar : ----- Adresleme şekillerine göre harcadığı süre : Bu komut sadece word genişliğinde çalışabilir, zira statü register'ı 1 word genişliğindedir.

MOVE Dx,SR = 12 CLCK MOVE (Ax),SR = 16 CLCK MOVE (Ax)+,SR = 16 CLCK MOVE -(Ax),SR = 18 CLCK MOVE d(Ax),SR = 20 CLCK MOVE d(Ax,Dx),SR = 22 CLCK MOVE $xx.W,SR = 20 CLCK MOVE $xxxx.L,SR = 24 CLCK MOVE d(PC),SR = 20 CLCK MOVE d(PC,Dx),SR = 22 CLCK MOVE #xxxx,SR = 16 CLCK Komut: MOVE (MOVE data) Kullanım şekilleri: MOVE SR,Dy / MOVE SR,(Ay) MOVE SR,(Ay)+ / MOVE SR,-(Ay) / MOVE SR,d(Ay) MOVE SR,d(Ay,Dy) / MOVE SR,$yy.W / MOVE SR,$yyyy.L Açıklama : Statü register'ının içeriğini destination'a yazar. Etkilenen flaglar : ----- Adresleme şekillerine göre harcadığı süre : Bu komut sadece word genişliğinde çalışır. MOVE SR,Dy = 6 CLCK MOVE SR,(Ay) = 12 CLCK MOVE SR,(Ay)+ = 12 CLCK MOVE SR,-(Ay) = 14 CLCK MOVE SR,d(Ay) = 16 CLCK MOVE SR,d(Ay,Dy) = 18 CLCK MOVE SR,$yy.W = 16 CLCK MOVE SR,$yyyy.L = 20 CLCK Komut: MOVE (MOVE data) Kullanım şekilleri: MOVE USP,Ay Açıklama : User stack pointer'ın adresini destination adres register'ına yazar.

Etkilenen flaglar : ---- Adresleme şekillerine göre harcadığı süre : MOVE USP,Ay = 4 CLCK Komut: MOVE (MOVE data) Kullanım şekilleri: MOVE Ax,USP Açıklama : Source adres register'ı içeriğini user stack pointer'a yazar.

Etkilenen flaglar : ----- Adresleme şekillerine göre harcadığı süre : MOVE Ax,USP = 4 CLCK Komut: MOVEA (MOVE data to Address register) Kullanım şekilleri: MOVEA Dx,Ay / MOVEA Ax,Ay MOVEA (Ax),Ay / MOVEA (Ax)+,Ay MOVEA -(Ax),Ay / MOVEA d(Ax),Ay MOVEA d(Ax,Dx),Ay / MOVEA $xx.W,Ay MOVEA $xxxx.L,Ay / MOVEA d(PC),Ay MOVEA d(PC,Dx),Ay / MOVEA #xxxx,Ay Açıklama : Source içeriğini verilen adres register'ına kopyalar. Etkilenen flaglar : ----- Adresleme şekillerine göre harcadığı süre : Destination, adres register'ı olduğundan bu komut byte genişliğinde çalışamaz. Komut süreçleri word ve longword genişliklerine göre verilmiştir.

MOVEA Dx,Ay = 4 CLCK, 4 CLCK MOVEA Ax,Ay = 4 CLCK, 4 CLCK MOVEA (Ax),Ay = 8 CLCK, 12 CLCK MOVEA (Ax)+,Ay = 8 CLCK, 12 CLCK MOVEA -(Ax),Ay = 10 CLCK, 14 CLCK MOVEA d(Ax),Ay = 12 CLCK, 16 CLCK MOVEA d(Ax,Dx),Ay = 14 CLCK, 18 CLCK MOVEA $xx.W,Ay = 12 CLCK, 16 CLCK MOVEA $xxxx.L,Ay = 16 CLCK, 20 CLCK

MOVEA d(PC),Ay = 12 CLCK, 16 CLCK MOVEA d(PC,Dx),Ay = 14 CLCK, 18 CLCK MOVEA #xxxx,Ay = 8 CLCK, 12 CLCK Komut: MOVEM (Move Multiple registers) Kullanım şekilleri: MOVEM (Ax),RL / MOVEM (Ax)+,RL MOVEM d(Ax),RL / MOVEM d(Ax,Dx),RL MOVEM $xx.W,RL / MOVEM $xxxx.L,RL MOVEM d(PC),RL / MOVEM d(PC,Dx),RL Açıklama : Source içeriğini destination register'larına yazar. Eğer artırmalı adresleme ((Ax)+) kullanılmışsa, verilen bir adresten sonra gelen değerleri sırayla verilmiş olan register'lara yazar. Register listesi (RL) üç şekilde girilebilir:

1. Her register teker teker yazılır ve aralarına birer / işareti konulur. (MOVEM (A7)+,d0/d1/d2/d3/d4/d5/d6/d7)

2. Atlama olmadan kullanılan register dizisi varsa bunların başlangıç ve bitiş register'ları aralarına - işareti konularak yazılır. (MOVEM (A7)+,d0-d7 gibi)

3. Her iki yöntemin kombinasyonu şeklinde. (MOVEM (A7)+,d0-d7/a0-a6 gibi)

Etkilenen flaglar : ----- Adresleme şekillerine göre harcadığı süre : Bu komut byte genişliğinde çalışamaz. Byte genişlik kullanılmak istenirse bile, word genişliği seçilmelidir. Bu yüzden aşağıdaki süreçler word ve longword genişlikleri içindir. MOVEM (Ax),RL = 12 CLCK, 12 CLCK MOVEM (Ax)+,RL = 12 CLCK, 12 CLCK MOVEM d(Ax),RL = 16 CLCK, 16 CLCK MOVEM d(Ax,Dx),RL = 18 CLCK, 18 CLCK MOVEM $xx.W,RL = 16 CLCK, 16 CLCK MOVEM $xxxx.L,RL = 20 CLCK, 20 CLCK MOVEM d(PC),RL = 16 CLCK, 16 CLCK MOVEM d(PC,Dx),RL = 18 CLCK, 18 CLCK Komut: MOVEM (MOVE Multiple registers) Kullanım şekilleri: MOVEM RL,(Ay) / MOVEM RL,-(Ay) MOVEM RL,d(Ay) / MOVEM RL,d(Ay,Dy) MOVEM RL,$yy.W / MOVEM RL,$yyyy.L Açıklama : Register listesinde yer alan register içeriklerini destination'a yazar. Diğer MOVEM komutundaki kurallar bu komut için de geçerlidir.

Etkilenen flaglar : ----- Adresleme şekillerine göre harcadığı süre : Bu komut da sadece word ve longword genişliklerinde çalışır. Bu yüzden süreçler word ve longword modları içindir. MOVEM RL,(Ay) = 8 CLCK, 8 CLCK MOVEM RL,-(Ay) = 8 CLCK, 8 CLCK MOVEM RL,d(Ay) = 12 CLCK, 12 CLCK MOVEM RL,d(Ay,Dy) = 14 CLCK, 14 CLCK MOVEM RL,$yy.W = 12 CLCK, 12 CLCK MOVEM RL,$yyyy.L = 16 CLCK, 16 CLCK Komut: MOVEP (MOVE data to Peripheral chips) Kullanım şekilleri: MOVEP Dx,d(Ay) Açıklama : Amiga'nın yardımcı ciplerinin hafıza bölgelerine bilgi yazmayı sağlar. Destination adres register'ına çip bölgesinin başlangıç adresi yazılmalıdır. Bu cipler ilk önce yüksek değerlikli byte'ı istediklerinden MOVE işlemi bu sırayla yapılır. Copper ve blitter ciplerini direkt erişimde bu komut kullanılmalıdır.

Etkilenen flaglar : ----- Adresleme şekillerine göre harcadığı süre : MOVEP komutu sadece word ve longword genişliklerinde çalışır. MOVEP Dx,d(Ay) = 16 CLCK, 24 CLCK Komut: MOVEP (MOVE data from Peripheral chips) Kullanım şekilleri: MOVEP d(Ax),Dy Açıklama : Yardımcı ciplerden bilgiyi data register'ına yazmayı sağlar.

Etkilenen flaglar : ----- Adresleme şekillerine göre harcadığı süre : MOVEP d(Ax),Dy = 16 CLCK, 24 CLCK

Klavyeyle gezinmek için ← ve → tuşları.