Amiga Dünyası sayı 27, sayfa 33

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 33

Selam!!! Ağustos'un bunaltıcı sıcak günlerine girerken yine bir Assembler köşesinde beraberiz. Bu ay artık sıkıcı bir hal alan komutlar listesinin son bölümünü vereceğim. İnanın, bu kadar uzun sürebileceğini ben bile tahmin edemedim. Bu yüzden Gelişmiş Assembler köşesine yaptığımız taşmayı telafi edeceğiz tabii ki. Komutlardan hemen sonra branch komutlarını detaylı olarak göreceğiz; zira bunlar bazen benim bile kafamı karıştırmaktalar. Hele oyun gibi detaylı bir proje yaparken bu tip karışıklıklar giderek büyür ve sonuçta kendi yazdığımız source'un içinden çıkamayabiliriz. Herneyse, dilerseniz hemen komutlara geçelim; ne dersiniz? Komut : NEG (NEGate data) Kullanım şekilleri : NEG Dy / NEG (Ay) / NEG (Ay)+ / NEG -(Ay) NEG d(Ay) / NEG d(Ay,Dy) / NEG $yy.W / NEG $yyyy.L Açıklama : Destination'ın içeriğini 0'dan çıkarır ve elde edilen değeri yine destination'a yazar. Etkilenen flaglar : ***** Adresleme şekillerine göre harcadığı süre : NEG Dy > 4 CLCK, 4 CLCK, 6 CLCK/NEG (Ay) — 12 CLCK, 12 CLCK, 20 CLCK NEG (Ay)+ — 12 CLCK, 12 CLCK, 20 CLCK/NEG -(Ay)— 14 CLCK, 14 CLCK, 22 CLCK NEG d(Ay)— 16 CLCK, 16 CLCK, 24 CLCK/NEG d(Ay,Dy)— 18 CLCK, 18 CLCK, 26 CLCK NEG $yy.W— 16 CLCK, 16 CLCK, 24 CLCK/NEG $yyyy.L 20 CLCK, 20 CLCK, 28 CLCK Komut : NEGX (NEGate eXtended data) Kullanım şekilleri : NEGX Dy / NEGX (Ay) / NEGX (Ay)+ / NEGX -(Ay) NEGX d(Ay) / NEGX d(Ay,Dy) / NEGX $yy.W / NEGX $yyyy.L Açıklama : Destination'ın içeriğini 0'dan çıkarır ve elde edilen değeri yine destination'a yazar. X flag'ı da bu işlemde kullanıldığından, bit genişliği 32'nin üzerindeki sayıları da kullanmanızı sağlar. Etkilenen flaglar ; ***** Adresleme şekillerine göre harcadığı süre : NEG Dy — 4 CLCK, 4 CLCK, 6 CLCK/NEG (Ay) 12 CLCK, 12 CLCK, 20 CLCK NEG (Ay)+ — 12 CLCK, 12 CLCK, 20 CLCK/NEG -(Ay) — 14 CLCK, 14 CLCK, 22 CLCK NEG d(Ay) — 16 CLCK, 16 CLCK, 24 CLCK/NEG d(Ay,Dy)— 18 CLCK, 18 CLCK, 26 CLCK NEG $yy.W — 16 CLCK, 16 CLCK, 24 CLCK/NEG $yyyy.L 20 CLCK, 20 CLCK, 28 CLCK Komut : NOP (No OPeration) Kullanım şekilleri : NOP

Açıklama : NOP komutunun hiçbir işlevi yoktur. Zamanlamanın önemli olduğu rutinlerde bir nevi zaman komutu olarak kullanılabilir. NOP komutu 4 CLCK harcar. Etkilenen flaglar : Adresleme şekillerine göre harcadığı süre: Herhangi bir source ve destination kullanılmadığından adresleme şekli de yoktur. Fakat komutun süreci 4 CLCK'dir. Komut : NOT (do logical NOT) Kullanım şekilleri :

NOT Dy / NOT (Ay) / NOT (Ay)+ / NOT -(Ay) NOT d(Ay) / NOT d(Ay,Dy) / NOT $yy.W / NOT $yyyy.L Açıklama : Destination'ın içeriğini mantıksal NOT işlemine tâbi tutar. İşlem sonucunda destination'ın içeriğindeki tüm 1 taşıyan bitler 0, 0 taşıyan bitler de 1 olur. Etkilenen flaglar : -**00 Adresleme şekillerine göre harcadığı süre : NOT Dy — 4 CLCK, 4 CLCK, 6 CLCK/NOT (Ay) 12 CLCK, 12 CLCK, 20 CLCK NOT (Ay)+ — 12 CLCK, 12 CLCK, 20 CLCK/NOT -(Ay) — 14 CLCK, 14 CLCK, 22 CLCK NOT d(Ay) — 16 CLCK, 16 CLCK, 24 CLCK/NOT d(Ay,Dy)— 18 CLCK, 18 CLCK, 26 CLCK NOT $yy.W — 16 CLCK, 16 CLCK, 24 CLCK/NOT $yyyy.L — 20 CLCK, 20 CLCK, 28 CLCK Komut : OR (do logical OR) Kullanım şekilleri : OR Dx,Dy / OR (Ax),Dy / OR (Ax)+,Dy / OR -(Ax),Dy OR d(Ax),Dy / OR d(Ax,Dx),Dy / OR $xx.W,Dy / OR $xxxx.L,Dy / OR d(PC),Dy OR d(PC,Dx),Dy / OR #xx,Dy Açıklama : Source ile destination'ı mantıksal OR işlemine tâbi tutar ve sonucu destination'a yazar. Etkilenen -**00 Adresleme şekillerine göre harcadığı süre : OR Dx,Dy — 4 CLCK, 4 CLCK, 6 CLCK/OR (Ax),Dy — 8 CLCK, 8 CLCK, 14 CLCK OR (Ax)+,Dy — 8 CLCK, 8 CLCK, 14 CLCK/OR d(Ax),Dy 10 CLCK, 10 CLCK, 16 CLCK

OR d(Ax),Dyzi2 CLCK,1I2 CLCK,I8 — CLCK/OR CLCK,14 CLCK,20 CLCK OR $xx.WDyzi2 CLCK,İ2 CLCK,I8 CLCK/OR $xxxx.L,Dyz16 CLCK,16 CLCK, 22 CLCK OR d(PC),Dyzi2 CLCK,I8 — CLCK/OR

OR #xx,Dy — 8 CLCK, 8 CLCK, 14 CLCK Komut : OR (do logical OR) Kullanım şekilleri : OR Dx,Dy / OR Dx,(Ay) / OR Dx,(Ay)+ / OR Dx,-(Ay) OR Dx,d(Ay) / OR Dx,d(Ay,Dy) / OR Dx,$yy.W / OR Dx,$yyyy.L Açıklama : Source ile destination'ı mantıksal OR işlemine tabi tutar ve sonucu destination'a yazar. Etkilenen flaglar : -**00 Adresleme şekillerine göre harcadığı süre: OR Dx,Dy — 4 CLCK, 4 CLCK, 6 CLCK/OR Dx,(Ay) — 12 CLCK, 12 CLCK, 16 CLCK OR Dx,(Ay)+ — 12 CLCK, 12 CLCK, 16 CLCK/OR Dx,-(Ay)— 14 CLCK, 14 CLCK, 18 CLCK

OR Dx,d(Ay)-16 CLCK,16 CLCK,20 CLCK/OR CLCK,18 CLCK,22 CLCK OR CLCK,I6 CLCK,20 CLCK/OR

Dx,$yyyy.L—20 CLCK,20 CLCK,24 CLCK Komut : OR (do logical OR) Kullanım şekilleri : OR Dx,Dy / OR (Ax),Dy / OR (Ax)4,Dy / OR -(Ax),Dy OR d(Ax),Dy / OR d(Ax,Dx),Dy / OR $xx.W,Dy / OR $xxxx.L,Dy / OR d(PC),Dy

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