Вам нужна программа деления 24 бита на 24 или лучше 32 бита на 32.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено GM 10 декабря 2004 г. 16:19
В ответ на: Ответ: отправлено 888 10 декабря 2004 г. 14:18

Вот пример деления 16/16.


;Dividing (80000*N)/M (224MC)
div16: ldi cnt,16 ;init loop counter
div1: lsl res0 ;shift left dividend
rol res1
rol res2 ;shift dividend into remainder
rol res3
sub res2,m0 ;remainder=remainder-divisor
sbc res3,m1 ;
brcc div2 ;if result negative
add res2,m0 ;restore remainder
adc res3,m1
rjmp div3 ;else
div2: inc res0
div3: dec cnt ;decrement counter
brne div1 ;if done

Добавьте еще один или два регистра в делимое и делитель и все!

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru