[an error occurred while processing this directive]
алгоритм деления на 8/3 ( = 2,66666 )
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Pol-SDG 18 октября 2002 г. 09:49
В ответ на: Как быстро поделить 9-битное число (unsigned) на 3 отправлено NoMore 17 октября 2002 г. 22:29

x*3/8=(x/2+x)/4= -->

asm51: \ (ad)=x bit=b8
mov r7, ad \ r7=x
mov a, r7 \ a=x
mov c, bit
rrc a \ a=x/2
add a, r7 \ a=x/2+x
mov c, bit
rrc a \ a=(x2+x)/2
rrc a \ a=(x2+x)/4

Сам придумал и не проверял :-)


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

Ответы



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

E-mail: info@telesys.ru