TITLE CALLER - CALLS CIRCLE SUBROUTINE
EXTRN CIRCLE:FAR;external subroutine

STACK    SEGMENT PARA STACK 'STACK'
         DB   64 DUP('STACK   ')
STACK    ENDS
CALLER   SEGMENT PARA 'CODE'
START    PROC FAR
RADIUS   DW   20        ;INITIAL VALUE OF RADIUS
         ASSUME CS:CALLER,SS:STACK
         PUSH DS        ;save ret seg on stack
         XOR  AX,AX     ;zero for ret offset
         PUSH AX        ;and save on stack
         MOV  AL,4      ;color/graphics select
         INT  10H       ;set mode
LOOP_CIR: MOV  AX,160    ;X origin coord
         PUSH AX        ;save on stack
         MOV  AX,100    ;Y origin coord
         PUSH AX        ;save on stack
         MOV  AX,RADIUS ;CIRCLE RADIUS
         PUSH AX        ;save on stack
         MOV  AX,5      ;aspect numer
         PUSH AX        ;save on stack
         MOV  AX,6      ;aspec denom
         PUSH AX        ;save on stack
         MOV  AX,1      ;foregrnd color 
         PUSH AX        ;save on stack  
         CALL CIRCLE    ;draw circle 
         ADC  RADIUS,10 ;INCREASE RADIUS BY 10
         CMP  CX,80     ;END VALUE
         JLE  LOOP_CIR   ;ONE MORE CIRCLE
         RET            ;far ret to DOS  
START    ENDP 
CALLER   ENDS 
         END 
in AX
          