Лисья Нора

Оглавление


§ Описание

Эта таблица генерируется с помощью целочисленного решения дифференциального уравнения Гука через скорость и ускорение.
v_{i+1} = v_i - k y_i
y_{i+1} = y_i + v_{i+1}
Здесь необходимо задать два числа: начальное положение y и коэффициент k.

§ Код программы

Здесь ES:DI – куда складывать результат (100 значений от -7E до 7F)
sine: xor ax, ax ; y
mov bx, 1014 ; v
mov cx, 100
@@: mov dx, ax
sar dx, 8
sub bx, dx ; v -= (y/256)
add ax, bx
push ax ; Коррекция
sar ax, 7
dec ax
stosb ; Диапазон от -7E..7F
pop ax
loop @b
ret