ASM’ye Nereden Başlayayım 2
ASM'de sık kullanılan komutların kullanımı hakkında bilgiler |
Merhaba
Başlıktaki konunun ikinci bölümünü bu ay sonlandırmayı düşündüm. Konuya ilgi gösterecek arkadaşlar gerekli yerlerden kaynaklara ulaşıp kendilerini geliştireceklerdir. Fakat bu projede asm uygulaması oldukça dikkat isteyen ve de çalışma sistemi anlaşıldığında ufuk biraz daha genişleyecektir. Proje,sıradan bir yukarı ve aşağı saydıran bir çalışmadır. Fakat yazılımına dikkatlice bakılrsa asm de sık kullanılan bazı komutların nasıl kullanıldığı hakkında bilgi sahibi olacaksınız.
BASLA
UST
BTFSC PORTA,0;"yukarı saydır" butonu basıldı mı?
GOTO ALT;hayır ise "ALT" geç,evet ise alttaki satıra geç
;*******************
MOVLW H'09' "W" geçici saklayıcıya dokuz değerini yükle
XORWF PORTB,W;dokuz değerini gösterge rakkamı ile karşılaştır.
BTFSC STATUS,2;karşılaştırma sonucuna bak
GOTO BASLA
MOVLW H'01;"W" geçici saklayıcıya bir değerini yükle
ADDWF PORTB;gösterge rakkamına bir EKLE
CALL BEKLE;göz fark edebilsin diye bir süre bekle
;*******************
GOTO BASLA
ALT
BTFSC PORTA,1;aşağı butonunu kontrol et
GOTO BASLA
;*******************
MOVLW H'00';"W" geçici saklayıcıya sıfır değerini ver
XORWF PORTB,W;gösterge ile karşılaştır
BTFSC STATUS,2karşılaştırma sonucuna bak
GOTO BASLA
MOVLW H'01';"W" geçici saklayıcıya bir değerini ver
SUBWF PORTB;gösterge değerinden bir ÇIKAR
CALL BEKLE;bir süre bekle
;*******************
GOTO BASLA;başa dön
Bu programda
BTFSC-XORWF-ADDWF-SUBWF-STATUS,2(matematiksel işlemin sıfır olup olmadığını kontrol eder) gibi komutları bir arada kullanılmıştır.
Açık olarak da verdiğim, programın kritik komutlarının nasıl kullanıldığını dikkatlice araştırınız ve kavramaya çalışınız.Bu basit program aslında birkaç kritik komutların nasıl bir arada kullanıldığı hakkında örnek teşkil etmektedir.Devam edip daha kapsamlı bilgi sahibi olmak isteyen arkadaşlara şimdiden başarılar dilerim.