102 Section 9: Subroutines
Subroutine Limits
A subroutine can call up another subroutine, and that subroutine can call up
yet another subrout   the execution of a
subroutine within a subroutineîš²is limited to stack of subroutines seven
levels deep (this does not count the main program level). The operation of
nested subroutines is as shown below:
Main Program
Examples
Example: Write a program to
calculate the slope of the secant line
joining points (x
1
, y
1
) and (x
2
, y
2
) on
the graph shown, where y = x
2
- sin x
(given x in radians).
The secant slope is:
12
1
2
12
2
2
12
12
)sin ()sin (
or ,
xx
xxxx
xx
yy
ï€
ï€ï€ï€
ï€
ï€
The solution requires that the equation for y be evaluated twiceîš²once for y
1
and once for y
2
, given the data input for x
1
and x
2
. Since the same
calculation must be made for different values, it will save program space to
call a subroutine to calculate y.
The following program assumes that x
1
has been entered into the Y-register
and x
2
into the X-register.