Como cambio el TamaƱo de un Circulo. ! ??
hola ! me gustaria saber como cambio el tamaƱo de un circulo .. aqui tengo el codigo.. ESTO esta hecho en flat assembler 1.57 !! gracias y porfavor el que pueda se lo agradeceria mucho
org 100h
mov al,13h
int 10h
push $a000
pop es
mov ax,150
mov bx,100
mov ch,088
mov dx,050
; PARA PODER CAMBIAR EL TAMAĆO SE LE
; MUEVE AQUI PERO OCUPO QUE AL DARLE CLICK
;A UNA TECLA CAMBIE EL TAMAĆO.. !!
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
org 100h
mov al,13h
int 10h
push $a000
pop es
mov ax,150
mov bx,100
mov ch,088
mov dx,050
; PARA PODER CAMBIAR EL TAMAĆO SE LE
; MUEVE AQUI PERO OCUPO QUE AL DARLE CLICK
;A UNA TECLA CAMBIE EL TAMAĆO.. !!
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