forum.mcontrollers.com - hlavní stránka forum.mcontrollers.com - fórum

 

.: fórum - hlavní stránka :.
Technology Stronghold by Rudolf Vesely
How to build Microsoft System Center hosted cloud series
FAQFAQ HledatHledat Seznam uživatelůSeznam uživatelů Uživatelské skupinyUživatelské skupiny RegistraceRegistrace
ProfilProfil StatistikaStatistika Soukromé zprávySoukromé zprávy PřihlášeníPřihlášení

 
Matematicke operacie - teoria

 
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Microchip
 
Dybbuk
Přispěvatel
Přispěvatel


Založen: 18.3.2016
Příspěvky: 28

PříspěvekZaslal: 26 květen 2016, 13:22    Předmět: Matematicke operacie - teoria Citovat

Ahojte,
na nasobenie a delenie som doteraz pouzival vlastne procedury ktore pracovali na principe opakovaneho pripocitavania alebo odcitavania cisla v cykle. Avsak teraz ked uz potrebujem pracovat s vacsimi cislami, by som rad porozumel principu na akom pracuju zakladne matematicke operacie vyvinute trochu vacsimi programatormi ako som ja.
Videl som v zdrojakoch ze riesi sa to rotaciami, ale neviem sa z toho vysomarit.
Rozumiem tomu niekto a mohol by to tu trochu objasnit, pripadne potesi aj link na stranku kde je princip vysvetleny.
Nemam zaujem o odkazy na hotove programy, mna zaujima ta teoria okolo toho ako to pracuje. Ako vzorovy prikladam funkcny programik na nasobenie cisla PRODLO obsahom registra W kde vysledok je ulozeny do PRODHI:PRODLO. Chapem co ktora instrukcia urobi, rozumiem tomu ako to tam skace, je mi jasne ze RRF vydeli obsah registru dvoma a STATUS,C sa naplna spodnym bitom toho co sa rotovalo, ale ako celok mi to nie je jasne, ze ako je mozne ze to dojde k spravnemu vysledku. Vlastne delenim cisel dvojkou dokaze vynasobit dane cisla. Moze tu niekto pls popisat trochu teorie ohladom nasobenia, pripadne delenia? Vdaka.
10x8:
kód:

   org   00h
   goto   INIT
INIT
    movlw D'10'
    MOVWF PRODLO
    MOVLW D'8'

   CLRF PRODHI
   CLRF COUNT
   BSF COUNT,3
   RRF PRODLO,F
LOOP:
   SKPNC
   ADDWF PRODHI,F

   RRF PRODHI,F
   RRF PRODLO,F

   DECFSZ COUNT
   GOTO LOOP
   END
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

 
Radius
Profesionál
Profesionál


Založen: 22.2.2013
Příspěvky: 468

PříspěvekZaslal: 26 květen 2016, 22:35    Předmět: Citovat

Základem je tohle: AxB=Ax(B0+B1+B2+B3+B4+...+Bn)=AxB0+AxB1+AxB2....+AxBn kde B0 az Bn jsou 1,2,4,8,16,...2^n Operace nasobeni 2 je posun (rotace) vlevo.
_________________
x51 , ARM , XILINX
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
 

 
Martin
ATmega pouzivatel
ATmega pouzivatel


Založen: 5.1.2008
Příspěvky: 1454

PříspěvekZaslal: 26 květen 2016, 23:40    Předmět: Citovat

Princip je rovnaky, ako ked nasobis rucne na papieri. Ak si to teda este zo skoly pamatas.
Akurat zjednodusenie je v tom, ze násobis bud nulou, alebo jednickou vsetky bity druheho cisla. Kazdy rad je posunuty o jeden bit. Smer zavisi, ci si zacal nasobit od MSB, alebo od LSB.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
 

Zobrazit příspěvky z předchozích:   
Zobrazit předchozí téma :: Zobrazit následující téma  
Přidat nové téma   Zaslat odpověď    Obsah fóra mcontrollers.com -> Microchip Časy uváděny v GMT + 2 hodiny
 
Strana 1 z 1
Přejdi na:  
Můžete přidat nové téma do tohoto fóra.
Můžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Můžete k příspěvkům připojovat soubory
Můžete stahovat a prohlížet přiložené soubory
 



Num Lock Holder - app to hold Numlock
Copyright © 2017 Rudolf Veselý, mcontrollers.com.
Je zakázáno používat části tohoto webu bez souhlasu autora. || Powered by phpBB © 2001, 2002 phpBB Group - with RedSquare DoubleJ(Jan Jaap)