
org 100h
mov al,13h
int 10h
mov cx,cs
add ch,010h
mov es,cx
push 0a000h
pop fs
__QZ:
mov dx,3c8h
mov al,cl
out dx,al
inc dx
mov al,cl
shr al,1
out dx,al
out dx,al
shr al,1
out dx,al
loop  __QZ
___Az:
xor di,di
mov bx,100h
add word [bx],2
fild word [bx]
fidiv word [bx+35h]
fsincos
mov ax,320
mov dx,-200
push ax
__lpY:
neg ax
push dx
__lpX:
push ax
mov si,sp
fild word [si]
fild word [si+4]
call _xOl
fxch st3
fxch st1
fild word [si+2]
call _xOl
fxch st4
call _xOl
fabs
fchs
mov si,106h
fistp word [si]
fistp word [si+2]
fxch st2
fistp word [si+4]
mov al,0x7f
push di
mov bx,[si-7]
mov bp,bx
xor cx,cx
mov di,bx
dec word [si]
_Qa:
add cx,[si]
add bp,[si+2]
add di,[si+4]
mov ah,0xe4
call _Vx
push dx
mov ah,[si-5]
add ah,0x27
and ah,0xf8
call _Vx
pop bx
adc dh,bh
jz _Out
dec al
jne _Qa
_Out:
pop di
stosb
pop ax
inc ax
inc ax
cmp ax,320
jne __lpX
pop dx
inc dx
inc dx
cmp dx,200
jne __lpY
___aaa:
mov ax,[es:di]
mov  [fs:di],ax
dec di
dec di
jne ___aaa
pop ax
in al,60h
cmp al,81h
jnz  ___Az
ret
_xOl:
fld st0
fmul st0,st3
fxch st2
fld st0
fmul st0,st5
faddp st3,st0
fmul st0,st3
fxch st1
fmul st0,st4
fsubp st1,st0
ret
_Vx:
mov bx,bp
add bh,ah
mov dx,di
add dh,ah
and dx,bx
and dx,cx
and dh,ah
ret