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)