Bu sayfadaki yazılar
Sayfanın metni
Sayfa 9
PHP 6510'un statü registerinin değerini yığına at. PLA Yığındaki değeri Aküye geri yükle. PLP Yığındaki değeri statü registerine geri yükle. ROL Aküdeki veya adresteki değeri bir bit sola döndür. ROR Aküdeki veya adresteki değeri bir bit sağa döndür. RTI Kesinti (Interrupt) işleminden geri dön. RTS Alt programdan geri dön. SBC Aküdeki değerden sabit bir sayıyı veya adresteki değeri elde bitini de kullanarak çıkar. SEC Elde bitini "1" yap. SED Ondalık moda gir. (D bitini "1" yap.) SEI Kesintileri durdur. (I bitini "1" yap.) STA Aküdeki değeri adrese yerleştir. STX X registerindeki değeri adrese yerleştir. STY Y registerindeki değeri adrese yerleştir. TAX Aküdeki değeri X registerine kopyala. TAY Aküdeki değeri Y registerine kopyala. TSX Yığın Göstergecinin (SP) değerini X registerine kopyala. TXA X registerinin değerini Aküye kopyala. TXS X registerinin değerini Yığın Göstergecine (SP) kopyala. TYA Y registerinin değerini Aküye kopyala.
"AND" "OR" VE "EOR" İŞLEMLERİ
Bu dersimizde önce "AND" "OR" "EOR" ve aritmetiksel işlemlerinin mantığını öğreneceğiz. Daha sonra ise komutları ayrıntılı bir şekilde göreceğiz.
"AND", "OR" ve "EOR" işlemleri bit düzeyinde işlem yapar ve sadece Akü ile kullanılır. Bu komutlarla herhangi bir adresteki değerin istediğiniz bitlerini "0" veya "1" yapabilirsiniz. "AND" işlemi bitler arasında çarpma işlemi yapar. Eğer karşılaştırılan bitlerin ikisi de "1" ise sonuç "1" dir. Diğer durumlarda sonuç "0" dır. Bunu bir tablo ile görelim. AND işlemini herhangi bir biti "0" yapmak için kullanabilirsiniz.
BİTLER İŞLEM SONUÇ 0 - 0 AND 0 0 - 1 AND 0 1 - 0 AND 0 1 - 1 AND 1
"OR" işlemi bitler arasında toplama işlemi yapar. Eğer karşılaştırılan bitlerin ikisi de "0" ise sonuç "0" dır. Diğer durumlarda sonuç "1" dir. Bunu bir tablo ile görelim. OR işlemini herhangi bir biti "1" yapmak için kullanabilirsiniz.
BİTLER İŞLEM SONUÇ 0 - 0 OR 0 0 - 1 OR 1 1 - 0 OR 1 1 - 1 OR 1
"EOR" işlemi diğerlerinden çok farklıdır. Eğer karşılaştırılan bitlerin ikisi de aynı ise sonuç "0" dır. Herhangi biri diğerinden farklıysa sonuç "1" dir. Bunu bir tablo ile görelim.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 8
Assembler kursunun bu bölümünde önce 6510 komutlarını alfabetik olarak sıralayıp ne iş yaptıklarını öğreneceğiz. Daha sonra her komutu çeşitleriyle birlikte göreceğiz.
KOMUT LİSTESİ (ALFABETİK SIRA)
KOMUT AÇIKLAMA ADC Aküdeki değerle sabit bir sayıyı veya adresteki değeri elde bitini de kullanarak topla. AND Aküdeki değerle, sabit bir sayı veya adresteki değer arasında "AND" işlemi yap. ASL Aküdeki değeri veya adresteki değeri bir bit sola kaydır. BCC Elde yoksa (C biti "0" ise) dallan. BCS Elde varsa (C biti "1" ise) dallan. BEQ Sonuç sıfır ise (Z biti "1" ise) dallan. BIT Adresteki bitleri Akü ile karşılaştır. BMI Sonuç eksi ise (N biti "1" ise) dallan. BNE Sonuç sıfır değilse (Z biti "0" ise) dallan. BPL Sonuç pozitif ise (N biti "0" ise) dallan. BRK Program içinde kesinti oluşturur. Kontrol başka bir programa geçer. BVC Taşma yoksa (V biti "0" ise) dallan. BVS Taşma varsa (V biti "1" ise) dallan. CLC Elde bitini "0" yap. CLD Ondalık moddan çık. (D bitini "0" yap) CLI Kesintileri serbest bırak. (I bitini "0" yap) CLV Taşma bitini "0" yap. CMP Aküdeki değeri sabit bir sayıyla veya adresteki değerle karşılaştır. CPX X registerindeki değeri sabit bir sayıyla veya adresteki değerle karşılaştır. CPY Y registerindeki değeri sabit bir sayıyla veya adresteki değerle karşılaştır. DEC Adresteki değeri 1 azalt. DEX X registerindeki değeri 1 azalt. DEY Y registerindeki değeri 1 azalt. EOR Aküdeki değerle, sabit bir sayı veya adresteki değer arasında "EOR" işlemi yap. INC Adresteki değeri 1 arttır. INX X registerindeki değeri 1 arttır. INY Y registerindeki değeri 1 arttır. JMP Program içindeki veya hafızadaki başka bir adrese git. JSR Geri dönüş adresini saklayarak program içindeki veya hafızadaki başka bir adrese git. LDA Aküye sabit bir sayıyı veya adresteki değeri yükle. LDX X registerine sabit sayıyı veya adresteki değeri yükle. LDY Y registerine sabit sayıyı veya adresteki değeri yükle. LSR Aküdeki veya adresteki değeri bir bit sağa kaydır. NOP Hiç bir işlem yapma. ORA Aküdeki değerle, sabit bir sayı veya adresteki değer arasında "OR" işlemi yap. PHA Aküdeki değeri yığına at.