Bu sayfadaki yazılar
Sayfanın metni
Sayfa 30
BCLR #x,(Ay) BTST Dx,d(Ay) BCLR #x,-(Ay) BTST Dx,d(Ay,Dy) BCLR #x,d(Ay) BTST Dx,d(Ay) BCLR #x,d(Ay,Dy) BTST Dx,d(Ay,Dy) BCLR #x,$yy.W BCLR Komut : BRA (BRAnch) Komut : Kullanım şekilleri : Kullanım şekilleri : BRA <Label> BSET #x,Dy / BTST #x,(Ay) / BTST #x,(Ay) Açıklama : Belirtilen adrese direkt olarak dallanır. Dönüşü BTST #x,d(Ay) BTST ion'un gösterdiği Nü- BRA <label> CLC ara ve içeriğini Z flag'ına kopyalar, Komut : it i dece en alt değerlikli 8 Kullanım şekilleri : BSET Dx,Dy / lerine göre süre : 10 CLCK
BSET Dx,(Ay) BSET Dx,-(Ay) BTST #x,d(PC,Dy) BSET Dx,d(Ay) 16 CLCK, Komut : CHK (CHeck) BSET Dx,Dy 18 CLCK, Kullanım şekilleri
16 CLCK, 18
12-12 CLCK, getirir, -14 CLCK, Etkilenen flaglar Adresleme şekillerine göre süre : BTST #x,d(Ay,Dy) - CLCK, BSET Dx,Dy BTST #x, - 16 CLOCK, BSET
CHK Dx,Dy / CHK (Ax),Dy / CHK (Ax)+,Dy / CHK -(Ax),Dy CHK d(Ax),Dy / CHK d(Ax,Dx),Dy / CHK $xx.W,Dy : BSET (Bit SET) CHK $xxxx.L,Dy / CHK d(PC),Dy / CHK d(PC,Dx),Dy
Kullanım şekilleri CHK #xxxx,Dy BSET #x,Dy / BSET #x,(Ay) / BSET #x (Ay)t Açıklama ; Source register'ının/adresinin içeriği Ü ile destina- BSET #x.-(Ay) ya BSET #x.d(Ay,D: il arasında mı, kontrol edilir Ye değilse Trap getirir. Etkilenen Adresleme şekillerine göre © nda işin. i ağrıldı- #x,Dy | İZ tes #xLÂY) - 16 CLCK, BSET Bİ BSET #x-(Ay) HA BSET #x,d(Ay) BSET #x. ŞA Dy)
b 20 CLCK, BSET #x,$yyyy.L - 24 CLCK. Komut : BSR (Branch SubRoutine) Kullanım şekilleri : BSR <Label> Açıklama : O anki adres (PC) stack'e atılır ve dallanılır. CHK d(PC,Dx),Dy 20 CLCK Etkilenen flaglar : - CHK #xxxx,Dy CLCK, 14 CLCK Adresleme şekillerine göre harcadığı süre : BSR <Label> - 14 CLCK, 14 Komut : BTST (Bit TesT) CLR Dy / CLR (Ay) / CLR (Ay)+ / CLR CLR / CLR $yy.W / CLR Açıklama : Verilen destination içeriğini BTST Dx, BTST Dx,d(Ay) BTST Dx,$yyyy.L / BTST Dx,d(PC) Etkilenen flaglar : -0100
Açıklama : destination adresinin gister” içeriğinden 7 a - 12 CLCK, 12.CLCK, kopyalanır. CLR (Ay)t Etkilenen flaglar : —*— CLR -(Ay) A Adresleme şekillerine göre CLR d(Ay) BTST Dx,Dy CLR d(Ay,Dy) BTST Dx, (Ay) CLR öy. BTST Dx, CLR
BTST Komut (CoMPare)
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 31
Kullanım şekilleri : CMP Dy,Dy / CMP Ax,Dy / CMP (Ax),Dy / CMP d(Ax),Dy / CMP d(Ax,Dx),Dy CMP $xx.W,Dy / CMP d(PC),Dy / CMP d(PC,Dx),Dy CMP #xxxx,Dy Açıklama : Destination data register'ının içeriği source adresin/adres register'ının gösterdiği adresin içeriğinden çıkartılır ve sonuca göre flagların konumları değişir. Çıkartma işleminin sonucu kaydedilmez; CMP işleminden sonra hem source, hem de destination'da bulunan değerler değişmez. Etkilenen flaglar : -**** Adresleme şekillerine göre harcadığı süre : 4 CLCK, CMP (Ax),Dy CMP (Ax)+,Dy CMP -(Ax),Dy CMP d(Ax),Dy CMP d(Ax,Dx),Dy CMP $xx.W,Dy CMP $xxxx.L,Dy CMP d(PC),Dy CMP d(PC,Dx),Dy CMP #xxxx,Dy Komut : CMPA (CoMPare Address) Kullanım şekilleri : CMPA Dx,Ay / CMPA Ax,Ay / CMPA (Ax)+,Ay CMPA -(Ax),Ay / CMPA d(Ax),Ay / CMPA d(Ax,Dx),Ay CMPA $xx.W,Ay / CMPA $xxxx.L,Ay / CMPA d(PC),Ay CMPA d(PC,Dx),Ay / CMPA #xxxx,Ay Açıklama : Aynı CMP gibi hayali çıkarma işlemi yaparak flagları değiştirir. Tek fark destination'un data register'ı değil de, adres register'ı olmasıdır. Etkilenen flaglar : -**** Adresleme şekillerine göre harcadığı süre : CMPA Dx,Dy - 6 CLCK, 6 CLCK CMPA Ax,Dy 6 CLCK, 6 CLCK CMPA (Ax),Dy 10 CLCK, 14 CLCK CMPA (Ax)+,Dy 10 CLCK, 14 CLCK CMPA -(Ax),Dy 12 CLCK, 16 CLCK CMPA d(Ax),Dy 14 CLCK, 18 CLCK CMPA d(Ax,Dx),Dy 16 20 CLCK CMPA $xx.W,Dy 14 CLCK, 18 CLCK CMPA $xxxx.L,Dy 18 CLCK, 22 CLCK CMPA d(PC),Dy 14 CLCK, 18 CLCK CMPA d(PC,Dx),Dy 16 CLCK, 20 CLCK CMPA #xxxx,Dy - 8 CLCK, 18 CLCK Komut : CMPI (CoMPare Immediatly) Kullanım şekilleri : CMPI #xxxx,Dy / CMPI #xxxx,(Ay) / CMPI #xxxx,(Ay)+ CMPI #xxxx,-(Ay) / CMPI #xxxx,d(Ay) CMPI #xxxx,d(Ay,Dy) / CMPI #xxxx,$yyyy.L Açıklama : Aynı CMP gibi çalışır. Etkilenen flaglar : -**** Adresleme şekillerine göre harcadığı süre : CMPI #xxxx,Dy - 8 CLCK, 18 CLCK, CMPI #xxxx,(Ay) 12 CLCK, 20 CLCK, CMPI #xxxx,(Ay)+ 12 CLCK, 20 CLCK, CMPI #xxxx,-(Ay) 14 CLCK, 22 CLCK, CMPI #xxxx,d(Ay) 16 CLCK, 24 CLCK, CMPI #xxxx,d(Ay,Dy) 20 CLCK, 28 CLCK Komut : CMPM (CoMPare Memory)
,20 CLCK, 22 CLCK, 24 CLCK, 8 CLCK, 18 CLCK,
Kullanım şekilleri : CMPM (Ax)+,(Ay)+ Açıklama : CMP gibi source ve destination'un içeriklerini birbiriyle karşılaştırır ve sonuca göre flagları etkiler. CMPM'de sadece iki adres register'ının gösterdikleri adreslerdeki değerler kontrol edilebilir. İki farklı hafıza bölgesinde bulunan ve ardarda gelen data dizilerini karşılaştırmak için kullanılır. Etkilenen flaglar : -**** Adresleme şekillerine göre harcadığı süre : CMPM - 12 CLCK, 12 CLCK, 20 CLCK Komut : DBHI, DBLS, DBCC, DBCS, DBNE, DBEQ, DBVC, DBVS, DBPL, DBMI, DBGE, DBLT, DBGT, DBLE Kullanım şekilleri : DBcc <Label> Açıklama : Bu komut Bcc koşullu dallanma komutlarının tam tersi işlem yapar. Eğer koşul gerçekleşmişse, programa bir sonraki satırdan devam eder. Koşul gerçekleşmemişse de verilen <label>'a dallanır. Etkilenen flaglar : - Adresleme şekillerine göre harcadığı süre : Dallanma uzaklığı 16 bit ile adreslenebiliyorsa 10, 32 bit ile adreslenebiliyorsa 12 CLCK Komut : DIVS (do mathematical DIVision, Signed) Kullanım şekilleri : DIVS Dx,Dy / DIVS (Ax),Dy / DIVS (Ax)+,Dy DIVS -(Ax),Dy / DIVS d(Ax),Dy / DIVS d(Ax,Dx),Dy DIVS $xx.W,Dy / DIVS $xxxx.L,Dy / DIVS d(PC),Dy DIVS d(PC,Dx),Dy / DIVS #xxxx,Dy Açıklama : 32 bitlik bir değerin 16 bitlik bir değere bölünmesidir. Source bölen, destination ise bölünen değerleri içerir. İşlem sonucunda sonuç destination data register'ının alt değerlikli 16 bitinde (bit 0-15) kayıtlıdır. Artan ise aynı data register'ının üst değerlikli 16 bitinde (bit 16-31) bulunabilir. Etkilenen flaglar : -***0 Adresleme şekillerine göre harcadığı süre : DIVS Dx,Dy - 120 CLCK, DIVS (Ax),Dy 124 CLCK, DIVS (Ax)+,Dy 124 CLCK, DIVS -(Ax),Dy 126 CLCK, DIVS d(Ax),Dy 128 CLCK
DIVS #xxxx,Dy 112 CLCK Komut : DIVU (do mathematical DIVision, Unsigned) Kullanım şekilleri : DIVU Dx,Dy / DIVU (Ax),Dy / DIVU (Ax)+,Dy DIVU -(Ax),Dy / DIVU d(Ax),Dy / DIVU d(Ax,Dx),Dy DIVU $xx.W,Dy / DIVU $xxxx.L,Dy / DIVU d(PC),Dy DIVU d(PC,Dx),Dy / DIVU #xxxx,Dy Açıklama : Aynı DIVS gibi çalışır; sadece negatif flag'ı işlem sırasında dikkate alınmaz. Bu komutla negatif bir değer ile pozitif bir değer arasında bölme yapabilirsiniz. Etkilenen flaglar : -***0 Adresleme şekillerine göre harcadığı süre : DIVU Dx,Dy 40 CLCK, DIVU (Ax),Dy 44 CLCK, DIVU (Ax)+,Dy 44 CLCK, DIVU -(Ax),Dy 46 CLCK, DIVU d(Ax),Dy 48 CLCK, DIVU d(Ax,Dx),Dy 52 CLCK, DIVU $xx.W,Dy 48 CLCK, DIVU $xxxx.L,Dy 52 CLCK, DIVU d(PC),Dy 48 CLCK, DIVU d(PC,Dx),Dy 52 CLCK, DIVU #xxxx,Dy 38 CLCK
CLCK, <-----
Ne yazık ki Assembler komutları umduğundan fazla yer kaplıyor. Bu yüzden library açıklamalarımı ve Gelişmiş Assembler yazımızı 1-2 ay daha geciktirmek zorundayım. Bu yüzden hepinizden özür dilerim. Gelecek ay yine tüm Assembler sayfalarını komutlara ayırmayı düşünüyorum. Bir ay sonra görüşmek üzere hoşçakalın.