13.01.2015 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!