Bu sayfadaki yazılar
Sayfanın metni
Sayfa 34
OR d(PC,Dx),Dy / OR #xx,Dy Açıklama : Source ile destination'ı mantıksal OR işlemine tabi 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 8 CLCK, 8 CLCK, 14 CLCK / OR -(Ax),Dy - 10 CLCK, 10 CLCK, 16 CLCK copy
OR d(Ax),Dy — 12 CLCK, 12 CLCK, 18 CLCK/OR d(Ax,Dx),Dy — 14 CLCK, 14 CLCK, 20 CLCK OR $xx.W,Dy — 12 CLCK, 12 CLCK, 18 CLCK/OR $xxxx.L,Dy — 16 CLCK, 16 CLCK, 22 CLCK OR d(PC),Dy — 12 CLCK, 12 CLCK, 18 CLCK/OR d(PC,Dx),Dy — 14 CLCK, 14 CLCK, 20 CLCK OR #xx,Dy — 8 CLCK, 8 CLCK, 14 CLCK Komut : ORI (OR Immediatly) Kullanım şekilleri : ORI #xxxx,Dy / ORI #xxxx,(Ay) / ORI #xxxx,(Ay)+ / ORI #xxxx,-(Ay) / ORI #xxxx,d(Ay) / ORI #xxxx,d(Ay,Dy) / ORI #xxxx,$yy.W / ORI #xxxx,$yyyy.L / ORI #xxxx,CCR / ORI #xxxx,SR Açıklama : Source olarak belirtilen değeri destination'ın içeriği ile mantıksal OR işlemine tâbi tutar ve sonucu yine destination'a yazar. Etkilenen flaglar : -**00 Adresleme şekillerine göre harcadığı süre: ORI #xxxx,Dy — 8 CLCK, 8 CLCK, 16 CLCK ORI #xxxx,(Ay) — 16 CLCK, 16 CLCK, 28 CLCK ORI #xxxx,(Ay)+ — 16 CLCK, 16 CLCK, 28 CLCK ORI #xxxx,-(Ay) — 18 CLCK, 18 CLCK, 30 CLCK ORI #xxxx,d(Ay) — 20 CLCK, 20 CLCK, 32 CLCK ORI #xxxx,d(Ay,Dy)— 22 CLCK, 22 CLCK, 34 CLCK ORI #xxxx,$yy.W — 20 CLCK, 20 CLCK, 32 CLCK ORI #xxxx,$yyyy.L — 24 CLCK, 24 CLCK, 36 CLCK ORI #xxxx,CCR — 20 CLCK, 20 CLCK, 20 CLCK ORI #xxxx,SR — 20 CLCK, 20 CLCK, 20 CLCK Komut: PEA (Push Effective Address) Kullanım şekilleri : PEA (Ax) / PEA d(Ax) / PEA d(Ax,Dx) / PEA $xx.W / PEA $xxxx.L / PEA d(PC) / PEA d(PC,Dx) Açıklama: Source'daki adresi alarak bunu stack'e atar. Etkilenen flaglar: ----- Adresleme şekillerine göre harcadığı süre: Bu komutla sadece longword bazında işlem yapılabilir.
PEA(Ax) —12CLCK/PEAd(Ax) — İ6CLCK PEA d(Ax,Dx) > 20 CLCK /PEA $xx.W —16CLCK PEA $xxxx.L —20CLCK /PEAd(PC) —16CLCK
PEA d(PC,Dx) — 20 CLCK Komut: RESET Kullanım şekilleri: RESET Açıklama: External donanım birimlerini RESET hattını 0 konumuna getirerek açılış konumlarına getirir. Etkilenen flaglar: ----- Adresleme şekillerine göre harcadığı süre: Komut işlendikten sonra RESET hattı 124 CLCK boyunca 0 konumda bekler. Bu süre, tüm bağlı donanımların -donanım ne olursa olsun- başlangıç konumlarına gelmelerini sağlar. Komut: ROL (ROtate data Left) Kullanım şekilleri: ROL Dx,Dy / ROL #$xxxx,Dy Açıklama: Destination'ı source'ta belirtildiği kadar bit sola kaydırır. En soldan taşan bit (en yüksek değerlikli 31. bit) boşalan 0. bit yerini alır. Bu bit aynı zamanda Carry flag'ine kopyalanır. Etkilenen flaglar: -**0* Adresleme şekillerine göre harcadığı süre: ROL Dx,Dy — 6+2(Dx) CLCK / ROL #$xxxx,Dy — 8+2(Dx) CLCK Komut : ROL (ROtate data Left-one bit)
642x
Kullanım şekilleri : ROL (Ay) / ROL (Ay)+ / ROL -(Ay) / ROL d(Ay) / ROL d(Ay,Dy) / ROL $yy.W / ROL $yyyy.L Açıklama: Destination'ın içeriğini bir bit sola kaydırır, taşan biti carry flag'ına kopyalar ve boşalan 0. bit yerine yazar. Etkilenen flaglar: -**0* Adresleme şekillerine göre harcadığı süre: Bu komut sadece word bazında çalışabilir. ROL (Ay) — 12 CLCK / ROL (Ay)+ — 14 CLCK / ROL -(Ay) — 14 CLCK / ROL d(Ay) — 16 CLCK / ROL d(Ay,Dy) — 18 CLCK / ROL $yy.W — 16 CLCK / ROL $yyyy.L — 20 CLCK Komut: ROR (ROtate data Right) Kullanım şekilleri: ROR Dx,Dy / ROR #$xxxx,Dy Açıklama: Destination'ın içeriğini source'ta belirtilen bit kadar sağa kaydırır ve taşan bitler 31. bit yerine yazılır. Aynı zamanda bu taşan bitler carry flag'ine de kopyalanır. Etkilenen flaglar: -**0* Adresleme şekillerine göre harcadığı süre: ROR Dx,Dy — 6+2(Dx) CLCK / ROR #$xxxx,Dy — 8+2(Dx) CLCK Komut: ROR (ROtate data bit) Kullanım şekilleri: ROR (Ay) / ROR (Ay)+ / ROR -(Ay) / ROR d(Ay) / ROR d(Ay,Dy) / ROR $yy.W / ROR $yyyy.L Açıklama: Destination'ın içeriğini bir bit sağa kaydırır. Taşan bit hem carry flag'ine hem de 31. bite kopyalanır. Etkilenen flaglar: -**0* Adresleme şekillerine göre harcadığı süre: Bu komut sadece 16 bit genişliğinde çalışır.
— 12 CLCK / ROL -
6+2x sağa kaydırır. Taşan
ROR (Ay) — 12 CLCK / ROR (Ay)+ — 12 CLCK / ROR -(Ay) — 14 CLCK / ROR d(Ay) — 16 CLCK / ROR d(Ay,Dy) — 18 CLCK / ROR $yy.W — 16 CLCK
ROR $yyyy.L — 20 CLCK Komut: ROXL (ROtate data Left) Kullanım şekilleri: ROXL Dx,Dy / ROXL #x,Dy Açıklama: Bu komut aynı ROL gibi çalışır, fakat taşan bit hem c, hem de x flag'lerini etkiler. Bu komutla en fazla 8 bitlik bir kaydırma yapılabilir. Etkilenen flaglar: ***0* Adresleme şekillerine göre harcadığı süre: ROXL Dx,Dy — 6+2(Dx) CLCK, 6+2(Dx) CLCK, 6+2(Dx) CLCK 6+2x CLCK, 6+2x CLCK, 6+2x CLCK Komut: ROXL (ROtate data Left-one bit)
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 35
Kullanım şekilleri: ROXL (Ay) / ROXL (Ay)+ / ROXL -(Ay) / ROXL d(Ay) / ROXL d(Ay,Dy) / ROXL $yy.W / ROXL $yyyy.L Açıklama: Bu komut tek bitlik ROL gibi destination içeriğini sola taşır ve taşan biti de 0. bite yazar. Bu taşan bit hem c, hem de x flag'lerini etkiler. Bu komutla sadece 8 biti aşmayan kaydırmalar yapılabilir. Etkilenen flaglar: ***0* Adresleme şekillerine göre harcadığı süre: Sadece word bazında çalışabilen bu komutun işlem süreleri aşağıdadır.
ROXL (Ay) — 12 CLCK / ROXL (Ay)+ — 12 CLCK / ROXL -(Ay) — 14 CLCK / ROXL d(Ay) — 14 CLCK / ROXL d(Ay,Dy) — 16 CLCK /
ROXL $yy.W — 16 CLCK / ROXL $yyyy.L — 20 CLCK Komut: ROXR (ROtate data Right) Kullanım şekilleri: ROXR Dx,Dy / ROXR #x,Dy Açıklama: Destination'ın içeriğini source'ta belirtilen sayı kadar sağa kaydırır. Taşan bit 31. bit yerine yazılır ve c ile x flag'ları da bu bitin durumuna göre değiştirilir. Bu komutla en fazla 8 bitlik kaydırma yapılabilir. Etkilenen flaglar: ***0* Adresleme şekillerine göre harcadığı süre: ROXR Dx,Dy — 6/2(Dx) CLCK, 6/2(Dx) CLCK, 6/2(Dx) CLCK ROXR #x,Dy — 6/2xCLCK, 6/2xCLCK, 6/2x CLCK Komut: ROXR (ROtate data Right-one bit) Kullanım şekilleri: ROXR (Ay) / ROXR (Ay)+ / ROXR -(Ay) / ROXR d(Ay) / ROXR d(Ay,Dy) / ROXR $yy.W / ROXR $yyyy.L Açıklama: Aynı 1 bitlik ROXL gibi çalışır; kaydırma yönü ise sağa doğrudur. Etkilenen flaglar: ***0* Adresleme şekillerine göre harcadığı süre: Bu komut sadece word bazında çalışır.
ROXR (Ay) — 12 CLCK / ROXR (Ay)+ — 12 CLCK / ROXR -(Ay) — 14 CLCK / ROXR d(Ay) — 14 CLCK / ROXR d(Ay,Dy) — 16 CLCK /
ROXR $yy.W — 16 CLCK / ROXR $yyyy.L — 20 CLCK Komut: RTE (ReTurn from Exception) Kullanım şekilleri: RTE Açıklama: Özel bir işletim durumu olan exception'dan (trap ve özel bazı interrupt'lar) ana rutine geri dönmeyi sağlar. Komuta gelindiğinde stack pointer'a en son atılan değer statü register'ına geri kopyalanır, stack adresi 4 byte ileri çekilir. Bu durumda stack'in gösterdiği yeni değer, exception'a dallanmadan önce stack'e atılan en son değer olacaktır. Ardından stack pointer'ın yeni gösterdiği değer yeni çalışma adresi olarak alınarak programın çalışmasına buradan devam edilecektir. Exception rutinine girmemizi sağlayan TRAP komutu zaten buraya exception rutininin dönüş adresini yazmıştı. Etkilenen flaglar: ***** Komut: RTR (ReTuRn) Kullanım şekilleri: RTR Açıklama: Bu komut da aynı RTE gibi çalışır; fakat stack pointer'ın komut işlenmeden önce gösterdiği adresteki değer statü register'ına değil CCR'ye (Condition Code Register) kopyalanır. Bu komut yardımıyla exception'a dallanmadan hemen önceki flag durumlarını da geri alabilir ve exception'a dallanmadan önceki flag durumlarına göre çeşitli özel dallanmaları exception rutinini çağırdıktan sonra da gerçekleştirebilirsiniz. Etkilenen flaglar: ***** Adresleme şekillerine göre harcadığı süre: 20 CLCK Komut: RTS (ReTurn from Sub-routine) Kullanım şekilleri: RTS Açıklama: Bir program içinde BSR ile dallanma yaptığınızda, altrutinden dallanmanın yapıldığı satırın sonrasına dönüp ana rutine kaldığınız yerden devam etmek istiyorsanız, bu komutu ana rutine dönmek istediğiniz yere koyun. Her program aynı zamanda bir altrutin olarak da görülebileceğinden programınızın sonuna RTS eklemekle programdan çıkmayı sağlayabilirsiniz. BSR komutu, son kalınan adresi stack'e atar. RTS ise stack'e atılan bu değeri alır ve programa o adresten devam eder. Etkilenen flaglar: ----- Komut: SBCD (Sub Binary Coded Decimal) Kullanım şekilleri: SBCD Dx,Dy Açıklama: 10'lu sisteme göre binary olarak kodlanmış sayıları birbirinden çıkarır. Destination register'ı içeriği, source register içeriğinden çıkarılarak destination'a yazılır. Etkilenen flaglar: *U*U* Adresleme şekillerine göre harcadığı süre: Bu komut sadece byte genişliğinde çalışır: SBCD Dx,Dy — 6 CLCK Komut: SBCD (Sub Binary Coded Decimal) Kullanım şekilleri: SBCD -(Ax),-(Ay) Açıklama: Destination adres register'ının gösterdiği adresin içeriği source adres register'ının gösterdiği adresin içeriğinden çıkarılarak destination adres register'ının gösterdiği adrese yazılır. İşlemden sonra source ve destination adres register'ları 2'şer byte (1 word) geri çekilir. Etkilenen flaglar: *U*U* Adresleme şekillerine göre harcadığı süre: Bu komut sadece word bazında çalışır: SBCD -(Ax),-(Ay) — 18 CLCK Komut: Szz Kullanım şekilleri: Szz Dy / Szz (Ay) / Szz (Ay)+ / Szz -(Ay) / Szz d(Ay) / Szz d(Ay,Dy) / Szz $yy.W / Szz $yyyy.L Açıklama: Belirtilen şart gerçekleşirse, destination'a $ff değeri yazılır. Diğer durumlarda destination'un içeriği 0 olur. Etkilenen flaglar: Adresleme şekillerine göre harcadığı süre: Bu komut sadece byte genişliğinde çalışabilir.
Szz Dy — 6 CLCK / Szz (Ay) — 12 CLCK / Szz (Ay)+ — 12 CLCK / Szz -(Ay) — 14 CLCK / Szz d(Ay) — 16 CLCK / Szz d(Ay,Dy) — 18 CLCK / Szz $yy.W — 16 CLCK / Szz $yyyy.L — 20 CLCK Komut: STOP Kullanım şekilleri: STOP #$xx
Açıklama: Verilen değeri statü register'ına yazar ve programı durdurur. Program ancak TRACE modu işler duruma getirildiğinde ya da RESET hattı 0'a çekildiğinde (RESET komutu ya da hardware ile) çalışmaya devam eder. Etkilenen flaglar: ***** Komut: SUB (SUBtract two datas) Kullanım şekilleri: SUB Dx,Dy / SUB Ax,Dy / SUB (Ax),Dy / SUB (Ax)+,Dy / SUB -(Ax),Dy / SUB d(Ax),Dy / SUB d(Ax,Dx),Dy / SUB $xx.W,Dy / SUB $xxxx.L,Dy / SUB d(PC),Dy / SUB d(PC,Dx),Dy / SUB #$xxxx,Dy Açıklama: Destination data register'ının içeriğinden source'u çıkararak sonucu destination data register'ına yazar. Taşma (V) flag'ı gözönüne alınmaz. Etkilenen flaglar: ***** Adresleme şekillerine göre harcadığı süre: SUB Dx,Dy — 4 CLCK, 4 CLCK, 6 CLCK / SUB Ax,Dy — 4 CLCK, 8 CLCK / SUB (Ax),Dy — 8 CLCK, 8 CLCK, 14 CLCK / SUB (Ax)+,Dy — 8 CLCK, 8 CLCK, 14 CLCK / SUB -(Ax),Dy — 10 CLCK, 10 CLCK, 16 CLCK / SUB d(Ax),Dy — 12 CLCK, 12 CLCK, 18 CLCK / SUB d(Ax,Dx),Dy — 14 CLCK, 14 CLCK, 20 CLCK / SUB d(PC),Dy — 12 CLCK, 12 CLCK, 18 CLCK