Amiga Dunyasi - Sayi 26 (Temmuz 1992).pdf - Retro Dergi
Amiga Dunyasi - Sayi 26 (Temmuz 1992).pdf - Retro Dergi
Amiga Dunyasi - Sayi 26 (Temmuz 1992).pdf - Retro Dergi
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
DİLLER<br />
AMIGA<br />
ASSEMBLER<br />
Selam! Bu ay yine size yine komutlarla başbaşa bırakacağım.<br />
Artık ne yazıkki komutlar bitmeden diğer konulara dönemeyeceğiz.<br />
Bu ay herhalde en büyük kısmını atlatacağız. Kalan kısmı da<br />
gelecek aya bırakıyorum. Şimdilik hoşçakalın ...<br />
Komut: EOR (do logical ExOR)<br />
Kullanım şekilleri: EOR Dx,Dy / EOR Dx,(Ay)<br />
EOR Dx,(Ay)+ / EOR Dx,-(Ay) / EOR Dx,d(Ay)<br />
EOR Dx,d(Ay,Dy) / EOR Dx,$yy.W / EOR Dx,$yyyy.L<br />
Açıklama : Source data register'ındaki sayıyı destination'un<br />
içeriği ile Exor'layarak sonucu destination'a yazar.<br />
Etkilenen flaglar : -**00<br />
Adresleme şekillerine göre harcadığı süre :<br />
EOR Dx,Dy<br />
= 4 CLCK, 4 CLCK, 8 CLCK<br />
EOR Dx,(Ay) = 12 CLCK, 12 CLCK, 20 CLCK<br />
EOR Dx,(Ay)+ = 12 CLCK, 12 CLCK, 20 CLCK<br />
EOR Dx,-(Ay) = 14 CLCK, 14 CLCK, 22 CLCK<br />
EOR Dx,d(Ay) = 16 CLCK, 16 CLCK, 24 CLCK<br />
EOR Dx,d(Ay,Dy) = 18 CLCK, 18 CLCK, <strong>26</strong> CLCK<br />
EOR Dx,$yy.W = 16 CLCK, 16 CLCK, 24 CLCK<br />
EOR Dx,$yyyy.L = 20 CLCK, 20 CLCK, 28 CLCK<br />
Komut: EORI (ExOR Immadiatly)<br />
Kullanım şekilleri: EORI #xxxx,Dy / EORI #xxxx,(Ay)<br />
EORI #xxxx,(Ay)+ / EORI #xxxx,-(Ay) / EORI #xxxx,d(Ay)<br />
EORI #xxxx,d(Ay,Dy) / EORI #xxxx,$yy.W<br />
EORI #xxxx,$yyyy.L/ EORI #xxxx,CCR / EORI #xxxx,SR<br />
Açıklama : Verilen sabit değeri destination'un içeriği ile<br />
Exor'layarak destination'a yazar.<br />
Etkilenen flaglar : -**00<br />
Adresleme şekillerine göre harcadığı süre :<br />
EORI #xxxx,Dy = 8 CLCK, 8 CLCK, 16 CLCK<br />
EORI #xxxx,(Ay) = 16 CLCK, 16 CLCK, 28 CLCK<br />
EORI #xxxx,(Ay)+ = 16 CLCK, 16 CLCK, 28 CLCK<br />
EORI #xxxx,-(Ay) = 18 CLCK, 18 CLCK, 30 CLCK<br />
EORI #xxxx,d(Ay) = 20 CLCK, 20 CLCK, 32 CLCK<br />
EORI #xxxx,d(Ay,Dy) = 22 CLCK, 22 CLCK, 34 CLCK<br />
EORI #xxxx,$yy.W = 20 CLCK, 20 CLCK, 32 CLCK<br />
EORI #xxxx,$yyyy.L = 24 CLCK, 24 CLCK, 36 CLCK<br />
EORI #xxxx,CCR = 20 CLCK, 20 CLCK,-------<br />
EORI #xxxx,SR = 20 CLCK, 20 CLCK,-------<br />
Komut: EXG (EXchange data)<br />
Kullanım şekilleri: EXG Dx,Dy<br />
Açıklama: İki data register'ının içeriğini birbirleriyle değiştirir.<br />
Etkilenen flaglar :-----<br />
Adresleme şekillerine göre harcadığı süre :<br />
EXG Dx,Dy<br />
=......... , ------ , 6 CLCK<br />
Komut: EXG (EXchange data)<br />
Kullanım şekilleri: EXG Ax,Ay<br />
Açıklama : İki adres register'ının içeriklerini değiştirir.<br />
Etkilenen flaglar :-----<br />
Adresleme şekillerine göre harcadığı süre :<br />
EXGAx,Dy<br />
= ------ ,......... , 6 CLCK<br />
Komut: EXG (EXchange data)<br />
Kullanım şekilleri: EXG Ax,Dy<br />
Açıklama : Adres register'ıyla data register'ının içeriklerini<br />
değiştirir.<br />
Etkilenen flaglar :-----<br />
Adresleme şekillerine göre harcadığı süre :<br />
EXGAx,Dy<br />
= ------ , ------ , 6 CLCK<br />
Cem GENCER<br />
Komut: EXT (EXTended data)<br />
Kullanım şekilleri: EXT Dy<br />
Açıklama : Data register'ının içeriğindeki 7./15. biti geri kalan<br />
16./24. bite (8./16. bitten itibaren) kopyalar. Eğer data<br />
register'ının içeriği byte ise 7. bit, word ise 15. bit kopyalanan<br />
bit olur. Bu şekilde byte bir değerini word, word bir değerini de<br />
longword yapabilirsiniz.<br />
Etkilenen flaglar : -**00<br />
Adresleme şekillerine göre harcadığı süre :<br />
EXT Dy<br />
= ---, 4 CLCK, 4 CLCK<br />
Komut: İLLEGAL<br />
Kullanım şekilleri: İLLEGAL<br />
Açıklama : 4 numaralı trap vektörünü çalıştırır. Bu şekilde<br />
programınızın bir yerinden hata verdirerek çıkış sağlayabilir ve<br />
register'lann da içeriklerini de görebilirsiniz. Fakat açılan ekranlar,<br />
ayrılan hafızalar açık kalacaklarından bunları elle kapamak<br />
(j) gerekmektedir.<br />
Etkilenen flaglar : .......<br />
Adresleme şekillerine göre harcadığı süre :<br />
İLLEGAL = ------ , ——,--------<br />
Komut: JMP (JuMP)<br />
Kullanım şekilleri: JMP -(Ay) / JMP d(Ay) / JMP d(Ay,Dy)<br />
JMP $yy. W / JMP $yyyy.L / JMP d(PC) / JMP d(PC,Dy)<br />
Açıklama : Hafızada direkt olarak bir adrese geri dönüşsüz<br />
dallanma yapılır. Dallanılan rutinde RTS komutu ile karşılaşıldığında<br />
da program bitirilir.<br />
Etkilenen flaglar : ----<br />
Adresleme şekillerine göre harcadığı süre :<br />
Bu komutta .b,.w ya da .1 takılan kullanılmaz.<br />
JMP-(Ay) =16 CLCK<br />
JMPd(Ay) =18 CLCK<br />
JMPd(Ay.Dy) =22 CLCK<br />
JMP $yy.W =18 CLCK<br />
JMP $yyyy.L = 20 CLCK<br />
JMPd(PC) =18 CLCK<br />
JMPd(PC,Dy) =22 CLCK<br />
Komut: LEA (Load Effective Address)<br />
Kullanım şekilleri: LEA (Ax),Ay / LEA d(Ax),Ay<br />
LEA d(Ax,Dx),Ay / LEA $xx.W,Ay / LEA $xxxx.L,Ay<br />
LEA d(PC),Ay / LEA d(PC,Dy),Ay<br />
Açıklama : Verilen adres ya da adres register içeriğindeki adresi<br />
destination adresine yazar. LEA ,Ay aynı zamanda<br />
MOVE.L #,Ay işlevi daha az CLCK ile yapar. Destination<br />
register'ı olarak sadece adres register'lan kullanılabilir. Bu<br />
komut sadece 32 bit (longword) üzerinden çalışır.<br />
Etkilenen flaglar : ----<br />
Adresleme şekillerine göre harcadığı süre :<br />
LEA (Ax),Ay = 4 CLCK<br />
LEAd(Ax),Ay = 8 CLCK<br />
LEA d(Ax,Dx),Ay = 12 CLCK<br />
LEA$xx.W,Ay ' = 8 CLCK<br />
LEA $xxxx.L,Ay = 12 CLCK<br />
LEAd(PC),Ay . = 8 CLCK<br />
LEA d(PC,Dy),Ay = 12 CLCK<br />
Komut: LİNK<br />
Kullanım şekilleri: LİNK Ay,#$xxxx<br />
Açıklama : Yeni bir stack bölgesi yaratmayı sağlar. Ay'nin içeriği<br />
stack pointer'ına yazılır ve stack adresi 4 byte geri alınarak<br />
AMIGA DÜNYASI 42