Assembly kodlamaya yeni başlayanlar için pekiştirme mahiyetinde led, 7 seven segment display vs üzerinde çalışmalar yapmaya olanak sağlayan örnekleri bu başlık altında paylaşabiliriz. Yararı olur umarım.
İlk örneğimiz çarpma işleminin sonucunu PORTB'ye bağlı ledlerde göstermek
Deger1(4) sayısı ile Deger(3) sayısını çarpıp sonucu B portunda gösteren uygulama;
#include <P16F877A.INC>
Deger1 EQU 0X21 ;Değişkenlerimizi hexa 20. adresten itibirane yazıyoruz.
Deger2 EQU 0X22
ORG 0x00
SETUP
BSF STATUS, RP0 ;BANK1'e geçildi. Aynı işlemi BANKSEL TRISB komutuyla da yapılabilir.
CLRF TRISB ;TRISB nin tüm uçları 0 yapıldı. Yani PORTB çıkış olarak ayarlandı.
BCF STATUS, RP0 ;BANK0'a geçildi. BANKSEL PORTB ile de yapılabilir.
CLRF PORTB
MOVLW 0x04 ;W kaydedicisine 4 sayısını atıldı.
MOVWF Deger1 ;W'deki sayı Deger1'e atıldı.
MOVLW 0x03
MOVWF Deger2
CLRW ;W'yi sıfırlıyoruz çünkü sonucu W'de saklayacaz ve lede yansıtacaz.
MAIN
ADDWF Deger1,W ;W ile Deger1'i topla sonucu W'ye yaz.
DECFSZ Deger2,F ;Deger2'yi bir azaltır, 0 ise bir satırı işlemeden geçer, değilse devam eder.
GOTO MAIN
MOVWF PORTB
END