|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Vladimir Vassilevsky 2:5020/175.2 09 Aug 2003 18:17:03 To : Alex Volkov Subject : Квадратные корни табличным методом --------------------------------------------------------------------------------
AV> Hичего что мотороллеровский асм?
AV> Ты извини, я амижник.. Могу накрйняк для спектрумя.
Во, для ADSP-218x :)))
/* *********************************************
(c)VLV
Subrotune - unsigned 16-bit int square root of unsigned 32 bit int
Input: ax1:ax0
Output: ay0 = sqrt (ax1:ax0)
***********************************************/
.module /ram Square_root;
.entry Sqrt;
Sqrt:
ena m_mode;
sr0 = 0x8000;
ar = sr0;
ay0 = 0;
sqrt_loop:
ar = ar + ay0;
ay1 = ar;
mr1 = ax1;
mr0 = ax0;
mr2 = 0;
mr = mr - ar*ar(uu);
ar = pass mr2;
if ne jump sqrt_nonew;
ay0 = ay1;
sqrt_nonew:
sr = lshift sr0 by -1(lo);
ar = pass sr0;
if ne jump sqrt_loop;
rts;
.endmod;
VLV
"Точность попадания компенсируется диаметром изделия"
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/3300cd4097cf.html, оценка из 5, голосов 10
|