Andrea píše:Na AVR:
= 2 takty oscilátoru, při 4MHz je to 500ns.
No, to je zase něco jiného. Dvě osmibitová čísla sečtu:
To je přesně to, co jsem psal - dvojnásobek. Což je lepší než trojnásobek u klasického akumulátoru:
Je pravda, že s šestnáctibitovými čísly je problém, protože PIC má jen ADD a ne ADC. Takže to pak vyjde o dost delší. Když člověk uváží, k čemu ten PIC má být, asi se to dá pochopit - obě instrukce se nevešly, práce s 16-ti bity se asi moc nepředpokládala, naopak neustálé CLC by otravovalo. Takže máš a nemáš pravdu. V tomhle je PIC mnohem pomalejší, ale není to tím přesouváním z a do akumulátoru.
Asi bych to udělal nějak takto:
Kód: Vybrat vše
movf B_hi, 0
addwf A_hi, 1
movf B_lo, 0
addwf A_lo, 1
btfsc status, c
incf A_hi, 1
Tedy 6 instrukcí. Při 32 bitech by to asi bylo ještě zamotanější. Není to už dvojnásobek, jak jsem psal, ale je to kvůli něčemu jinému. O tom jsme nemluvili. A pořád to není 10x-20x horší.