Re: деление на 6

From
Alexander Golovlev ()
To
Michael Ryazanov
Date
2002-09-10T00:33:04Z
Area
RU.ALGORITHMS
From: "Alexander Golovlev" <alex-gol1@mtu-net.ru>

Дброе время суток, Michael!
Вы писали to Alexander Golovlev не далее, как Sat, 07 Sep 2002 23:16:00
+0400:

 MR> 06.09 10:58 Alexander Golovlev -> All

 AG>> Поджскажите пожалуйста алгоритм деления беззнакового байта на число 6.
 AG>> mod + div
 AG>> который был бы оптимален по скорости, а не по размеру кода.

 MR>    ; bl -- исходный байт
 MR>    xor bh,bh
 MR>    mov ax,divmod6[bx]
 MR>    ; ah -- частное
 MR>    ; al -- остаток

 MR> divmod6 label word
 MR> n=0
 MR> rept 256
 MR>  db n mod 6, n / 6
 MR>  n=n+1
 MR> endm

 MR>    Устроит? :-)
Мне тут подсказали способ:
Делимое*171
сдвинуть старшую часть результата вправо на 2 = ответ
Ну а остаток : умножил на 6 то что получилось и вычел из делимого, умножать
легче чем делить :)

СУВ
Alexander Golovlev.  MailTo: alex-gol1@mtu-net.ru 


--- ifmail v.2.15dev5
 * Origin: Demos online service (2:5020/400)