Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

математиката на пика...
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=6634
Страница 1 от 1

Автор:  sukhoi [ Пет Мар 13, 2009 7:03 pm ]
Заглавие:  математиката на пика...

Здравейте,

опитвам се да разгадая как става това делене на асемблер. Използвам AN526 за PIC16.

Цитат:
movlw 1
movwf ACCaHI
movlw 0FF ; loads ACCa = 01FF
movwf ACCaLO

movlw 07F
movwf ACCbHI
movlw 0FF ; loads ACCb = 7FFF
movwf ACCbLO

call D_divS

Така резултата е такъв "remainder in ACCc. Here ACCb =0040 & ACCc=003F"
Въпроса ми е как това да го превърна в реалния резултат ... нали 01FF=51110
и 7FFF=3276710 тогава резултата е 511/32767=0,016..
та как да го получа в bcd ли трябва да преварна хекса?

Автор:  bobyper [ Пет Мар 13, 2009 7:22 pm ]
Заглавие: 

Без да кажеш какво прави това, никой няма да ти помогне

call D_divS

Автор:  sukhoi [ Пет Мар 13, 2009 7:28 pm ]
Заглавие: 

call D_divS е подпрограмата за делене
ACCb(16 bits) / ACCa(16 bits) -> ACCb(16 bits) with
Remainder in ACCc (16 bits)

Автор:  Ки4о [ Пет Мар 13, 2009 8:05 pm ]
Заглавие: 

Предполагам,че резултата ти е в 4(3) клетки: 2 за младша и старша част на резултата и 2(1) за остатъка (ако остатъка е еднобайтов).Преобразуваш цялата част в BCD изобразяваш я,после изобразяваш точка,после изобразяваш остатъка от деленето преобразувано предварително в BCD.

Автор:  ps66 [ Пет Мар 13, 2009 8:35 pm ]
Заглавие: 

Ки4о написа:
...Преобразуваш цялата част в BCD изобразяваш я,после изобразяваш точка,после изобразяваш остатъка от деленето преобразувано предварително в BCD.


не бъркай остатъка с дробна част !

дробната част е остатъка разделен на делителя !

пример:
31/20 = 1 и остатък R=11

дробната част е 11/20 = 0.55

ако иска остатъка да го направи на дробна част с 2 разряда:
R*100 / 20 = 55

т.е. е още едно у-е и деление ще сметне и дробната част !

Автор:  sukhoi [ Съб Мар 14, 2009 12:30 pm ]
Заглавие: 

...хм бая сложно е това делене на асемблер...друго си е на Ц-то

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/