DEMO.DESIGN
Frequently Asked Questions
 
оглавление | demo party в ex-СССР | infused bytes e-mag | новости от ib/news | другие проекты | письмо | win koi lat

следующий фpагмент (2)
Sine generator [Oleg Homenko] ; sine & cosine generator by Karl/Nooon (40 byte version? Never seen one) ; optimized to 41 bytes by Beeblebrox/TMA ; 256 degrees, 8.24 fixed point .386 a segment byte public use16 assume cs:a, ds:a org 100h start: ;-----------------------------8<------------------------------------ ; sin(x0+2*a) = 2*cos(a)*sin(x0+a)-sin(x0), a=2*pi/256 mov di,offset sintable xor eax,eax stosd mov eax,64855h ; sin(2*pi/256) stosd mov ebp,0FFEC42h ; cos(a) mov cx,64+256-2 s0: imul ebp ; cos(a)*sin(x0+a) shrd eax,edx,24-1 ; 2*cos(a)*sin(x0+a) sub eax,[di-8] ; 2*cos(a)*sin(x0+a)-sin(x0) stosd ; sin(x0+2*a) loop s0 ;-----------------------------8<------------------------------------ retn sintable dd 64 dup(?) costable dd 256 dup(?) a ends end start Сразу говорю, что младшие 16 бит не обязательно точные - хотите отбрасывайте их, а нет - и так сойдет

Всего 1 фpагмент(а/ов) |пpедыдущий фpагмент (1)

Если вы хотите дополнить FAQ - пожалуйста пишите.

design/collection/some content by Frog,
DEMO DESIGN FAQ (C) Realm Of Illusion 1994-2000,
При перепечатке материалов этой страницы пожалуйста ссылайтесь на источник: "DEMO.DESIGN FAQ, http://www.enlight.ru/demo/faq".