ayuda en asembler

hector
06 de Junio del 2005
necesito saber como dibujar un circulo en la pantalla,
agradezco cualquier ayuda

alex
06 de Junio del 2005
org 100h

mov al,13h
int 10h
push $a000
pop es


mov ax,150
mov bx,100
mov ch,088
mov dx,050



call ciclo

call RegresaAh

int 20h; SALIDA

ciclo:
mov [X12],ax
mov [Y12],bx
xor bx,bx
mov [rad],dx
fld1 ; fld1
fild dword [rad]
fdivp st1,st0
fld st0
fmul st,st0
fld1
fsubrp st1,st
fpatan
fstp dword [RadCirculo]

Calcular:

fld dword [degcnt]
fld dword [RadCirculo]
faddp st1,st0
fst dword [degcnt]
fsincos
fimul dword [rad] ; ESTA ES LA X
fmul dword [CorreccionX] ; (1.2)
fiadd dword [X12] ; Cos
fistp dword [Xx12]
fimul dword [rad] ; ESTA ES LA Y
fiadd dword [Y12] ; Sin
fistp dword [Yy12]
mov eax,[Yy12]
lea edi,[4*eax+eax]
shl di,6
add di,[Xx12]
fldpi
fadd st0,st0; AGREGAR LA OTRA MITAD DEL CIRCULO
fcomp dword [degcnt]

fstsw ax ; TERMINA
je Calcular
mov [es:di], ch

;SALTO:

and ah,0001b
jz Calcular
ret

degcnt: dd 0

RadCirculo: dd ?
CorreccionX : dd 1.2

rad: dd ?
X12: dd ?
Y12: dd ?
Xx12: dd ?
Yy12: dd ?


RegresaAh:

mov ah,$10
int $16
ret