Salvo
Kayıtlı Üye
TOPLAMA İŞLEMLERİ
ADDLW ve ADDWF KOMUTLARI
ADDLW: W ile bir sabit sayıyı topla.
Kullanımı: ADDLW k
Açıklama:
W nin içeriğini 8 bitlik k ile toplar ve sonucu W registere aktarır. Yani W=W+K dır.
Bir örnek verelim. Programın akışı içersinde W=H'64' diyelim yani onluk sisteme göre W=D'100' olsun ve bu anda aşağıdaki komut işlenmiş olsun.
ADDLW H'10'
Bu komuttan sonrada W içeriğini bir displayde yazdırdığımızı farz edersek; displayde H'74' yani Decimal 116 görürüz. Bir başka deyişle, eğer ledlerle kontrol ediyorsak 1110100 görürüz. Şöyle ki;
H'64' +H210'=h'74'
D'100'+D'16'=D'116'
B'1100100'+B'10000'=B'1110100' olur.
ADDWF: Bir yazmaç içeriği ile W nin içeriğini topla.
Kullanım: ADDWF f,d d, 0 yada 1 dir.
d=0 ise hedef W yazmacıdır.
d=1 ise hedef f dir.
Açıklama: Wnin içeriğini ,8 bitlik f ile toplar ve sonucu d=0 ise W ya d=1 ise f ye yazar.
Örnek: ADDWF f,1 ==> bu komuttan önce W=h'10 ' ve f=h'10' ise komuttan sonra W=h'10' ve f=h'20' olur.
Toplama Sonucu 255 den fazlaysa yani H'FF' den büyük olursa; taşma biti Status yazmacının Carry (status,0) bitinde tutulur.
ADDLW ve ADDWF KOMUTLARI
ADDLW: W ile bir sabit sayıyı topla.
Kullanımı: ADDLW k
Açıklama:
W nin içeriğini 8 bitlik k ile toplar ve sonucu W registere aktarır. Yani W=W+K dır.
Bir örnek verelim. Programın akışı içersinde W=H'64' diyelim yani onluk sisteme göre W=D'100' olsun ve bu anda aşağıdaki komut işlenmiş olsun.
ADDLW H'10'
Bu komuttan sonrada W içeriğini bir displayde yazdırdığımızı farz edersek; displayde H'74' yani Decimal 116 görürüz. Bir başka deyişle, eğer ledlerle kontrol ediyorsak 1110100 görürüz. Şöyle ki;
H'64' +H210'=h'74'
D'100'+D'16'=D'116'
B'1100100'+B'10000'=B'1110100' olur.
ADDWF: Bir yazmaç içeriği ile W nin içeriğini topla.
Kullanım: ADDWF f,d d, 0 yada 1 dir.
d=0 ise hedef W yazmacıdır.
d=1 ise hedef f dir.
Açıklama: Wnin içeriğini ,8 bitlik f ile toplar ve sonucu d=0 ise W ya d=1 ise f ye yazar.
Örnek: ADDWF f,1 ==> bu komuttan önce W=h'10 ' ve f=h'10' ise komuttan sonra W=h'10' ve f=h'20' olur.
Toplama Sonucu 255 den fazlaysa yani H'FF' den büyük olursa; taşma biti Status yazmacının Carry (status,0) bitinde tutulur.