.MODEL TINY
.STACK 200h
LOCALS @@

.DATA

R			DW	50
A			DW	160
B			DW	100
X			DW	0
Y1			DW	0
Y2			DW	0

.CODE

MAIN		PROC
		MOV	AX, @DATA
		MOV	DS, AX

		MOV	AX, 0A000h
		MOV	ES, AX

		MOV	AX, 0013h
		INT	10h

;----------------------------------------------

@@L1:		MOV	[X], 210

@@L2:		MOV	CX, 2500
		MOV	BX, [X]
		SUB	BX, [A]
		MOV	AX, BX
		MUL	BX
		SUB	CX, AX

		PUSH	CX
		CALL	SQRT
		SUB	AX, 2

		PUSH	AX

		ADD	AX, [B]
		MOV	[Y1], AX

		POP	AX

		NEG	AX
		ADD	AX, [B]
		MOV	[Y2], AX

;----------------------------------------------

		MOV	AX, 320
		MUL	[Y1]
		ADD	AX, [X]
		MOV	DI, AX
		MOV	AX, 15
		STOSB

		MOV	AX, 320
		MUL	[Y2]
		ADD	AX, [X]
		MOV	DI, AX
		MOV	AX, 15
		STOSB

		DEC	[X]
		CMP	[X], 109
		JNE	@@L2

		MOV	AX, 0100h
		INT	16h
		JZ	@@L1

		MOV	AX, 0003h
		INT	10h

		MOV	AX, 4C00h
		INT	21h
MAIN		ENDP

INCLUDE		PROCS\SQRT.INC

END		MAIN