[an error occurred while processing this directive]
|
//Простой генератор - загрузить два значения из таблицы, размером 562
//слова (не степень двойки, естественно), сложить, запомнить:
//(i1 - текущие указатели, i3 - output)
generator:
l6 = 562; //размер таблицы
l7 = l6; //
m0 = 1;
m2 = 0;
m3 = -1;
ay0 = dm(i1,m0); //текущий адрес 1
ay1 = dm(i1,m3); //текущий адрес 2
i6 = ay0;
i7 = ay1;
m4 = 28; //шаг 1
m5 = 44; //шаг 2
modify(i3,m3); //rewind back
ar = dm(i3,m2); //read value to write it back
cntr = 20; //размер буфера
do gen_0 until ce;
ax0 = dm(i6,m4); //прочитали первое значение
ay0 = dm(i7,m5); //прочитали второе значение
sr0 = 0; //!!!! Без такой или подобной команды
//не работает!!! NOP не прокатывает :-(
gen_0: ar = ax0 + ay0, dm(i3,m0) = ar; //посчитали сумму
//сохранили предыдущее
dm(i3,m0) = ar; //сохранили последнее
ay0 = i6; //сохранили указатели
ay1 = i7;
dm(i1,m0) = ay0;
dm(i1,m0) = ay1;
rts; //все
E-mail: info@telesys.ru