çarpma Işlemleri

Salvo

Kayıtlı Üye
ÇARPMA İŞLEMLERİ
PIC ile Çarpma İşlemleri

Bizim matematik bilgilerimize göre çarpma işleminde katlama olayı vardır. Bildiğimiz gibi çarpma işlemi aslında toplama işleminin üst üste defalarca yapılmasıdır. örneğin 2 ile 3 ün çarpımında; 2 sayısını 3 defa üst üste toplarız, şöyle ki;
2+2+2=6

Aslında şöyle yapıyoruz;
0+2=2
2+2=4
2+4=6

2 sayısını 3 defa topladık ve 2X3=6 sayısına ulaştık

Şimdi bunu bir programlama dilinde yaptığımızı düşünelim.

Örneğin visual basic;
carpim=0
for i=1 to 3
carpim=carpim+2
next
Sonuc=> carpim=6 olacaktır.

Bu döngüyü aynen assembler da da oluşturursanız çarpım işlemini yaptınız demektir. zaten kullandığımız makineler bu yöntemle yapıyor, ipucu verelim: decfsz ile bir değişkenin içeriğini (3 sayısı) her defasında 1 azaltalım ve her döngüde diğer değişkenin içeriğini önceki değerine 2 ekleyerek toplayalım. sonucu bulacaksınız eminim,

Assembler da çarpma için kısa yollar:
1) Assemblerda 2 ile çarpma; Elinizdeki değerin (bit olarak) en sağ basamağına 1 adet sıfır eklemek. Örneğin 3 ile 2 yi çarpmak için; 3(10)=11(2) Yani 10 luk tabanda 3 sayısı=>ikilik sayı sisteminde 00000011 dir. Bu 00000011 in en sağına bir sıfır ekliyoruz, ve bu basamaktan solda klanları birer basamak sola kaydırıyoruz. Yani sonuç olarak 3X2=00000110 ==>6 oluyor. Hangi sayı olursa olsun bu yöntemi kullanabilirsiz.

2) Assemblerda 4 ile çarpma; Burada bütün anlatılacak olanlarda 2 ile çarpma yöntemi gibidir, yalnız basamak sayısı 2 ye çıkar, yani 4 ile çarpmak istediğiniz sayın en sağ basamağına 2 tane sıfır eklersiniz.

3) Assemblerda 8 ile çarpma; Burada bütün anlatılacak olanlarda 2 ve 4 ile çarpma yöntemi gibidir, burada da basamak sayısı 3 e çıkar, yani 8 ile çarpmak istediğiniz sayının en sağ basamağına 3 tane sıfır eklersiniz. Peki sola kaydırmayı nerden yapacağız? Cevap verelim : RLF ve bu işlem böyle devam edip gidiyor.
__________________
 
bayigram takipçi satın al instagram beğeni satın al instagram takipçi satın al tiktok takipçi satın al Buy Followers bugün haber
vozol
Geri
Üst