home *** CD-ROM | disk | FTP | other *** search
- comment #
- /*****************************************************************************
- ATTENTION!
- this source is VOTEWARE,
- you may only use it to the conditions listed below:
-
- -You may modify it, or use parts of it in your own source as long as
- this header stays on top of all files containing this source.
- -You must give proper credit to the author, Niklas Beisert / pascal.
- -You may not use it in commercial productions without the written
- permission of the author.
- -AND MOST IMPORTANT: you have to buy an Assembly '94 CD-ROM
- by Sound Solutions (if you don't have it already) and vote for VEX-InTrO
- in the PC-64k-Intro-Compo! (if you have already sent your voting card,
- buy another one and fill it out CORRECTLY!!!)
- *****************************************************************************/
- #
-
-
-
- ;// lissajous function, calculates the coordinates of the points for given
- ;// parameters
-
- .model large,c
- .386
- locals
-
- .data
- extrn SinTab:dword
-
- .code
-
- public calclissapoints
-
- calclissapoints proc uses ds si edi, pts:dword, num:word, a:dword, b:dword, c:dword, d:dword, e:dword, f:dword
- lds si,SinTab
- mov es,word ptr pts+2
-
- mov bx,word ptr d+2
- shl bx,2
- mov di,word ptr d
- shl edi,16
- mov di,word ptr pts
- mov dx,word ptr a
- shl edx,16
- mov dx,12
- mov cx,num
- push bp
- mov bp,word ptr a+2
- shl bp,2
- add bp,3
- @@l0:
- and bx,8188
- mov eax,ds:[si+bx]
- mov es:[di],eax
- add edi,edx
- adc bx,bp
- loop @@l0
- pop bp
-
- mov bx,word ptr e+2
- shl bx,2
- mov di,word ptr e
- shl edi,16
- mov di,word ptr pts
- add di,4
- mov dx,word ptr b
- shl edx,16
- mov dx,12
- mov cx,num
- push bp
- mov bp,word ptr b+2
- shl bp,2
- add bp,3
- @@l1:
- and bx,8188
- mov eax,ds:[si+bx]
- mov es:[di],eax
- add edi,edx
- adc bx,bp
- loop @@l1
- pop bp
-
- mov bx,word ptr f+2
- shl bx,2
- mov di,word ptr f
- shl edi,16
- mov di,word ptr pts
- add di,8
- mov dx,word ptr c
- shl edx,16
- mov dx,12
- mov cx,num
- push bp
- mov bp,word ptr c+2
- shl bp,2
- add bp,3
- @@l2:
- and bx,8188
- mov eax,ds:[si+bx]
- mov es:[di],eax
- add edi,edx
- adc bx,bp
- loop @@l2
- pop bp
-
- ret
- endp
-
- end
-