
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
; DATA
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
align 4
d7loc           db      0,0
d7sinloc        db      0

;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
; CODE
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±

;ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
p70:
        mov ebx,offset sincos0
        mov eax,4040404h
        mov bl,d7sinloc
        mov dh,d7loc[0]
        xor dl,dl
        mov ch,1
        call p70r0
        mov d7loc[0],dh
        sub bl,16
        mov dh,d7loc[1]
        mov dl,80h
        mov ch,-1
        call p70r0
        mov d7loc[1],dh
        mov d7sinloc,bl
        or dh,dh
        jz setnext
        ret

;-----------------------------------------------------------------------------
p70r0:
        mov esi,4
p70r0l0:
        mov cl,[ebx]
        add bl,4
        shr cl,3
        mov edi,edx
        add di,cx

rept 14
        add dword ptr fs:[di],eax
        add dword ptr fs:[di+4],eax
        add dword ptr fs:[di+8],eax
        add dword ptr fs:[di+12],eax
        add di,100h
endm
        add dword ptr fs:[di],eax
        add dword ptr fs:[di+4],eax
        add dword ptr fs:[di+8],eax
        add dword ptr fs:[di+12],eax

        add dh,ch
        dec esi
        jnz p70r0l0
        ret

