Calling subroutines (xeq, rtn) – HP 33s User Manual

Page 186

Advertising
background image

13–2

Programming

Techniques

Calling Subroutines (XEQ, RTN)

A subroutine is a routine that is called from (executed by) another routine and
returns to

that same routine when the subroutine is finished. The subroutine must

start with a LBL and end with a RTN. A subroutine is itself a routine, and it can call
other subroutines.

„

XEQ must branch to a label (LBL) for the subroutine. (It cannot branch to a line
number.)

„

At the very next RTN encountered, program execution returns to the line after
the originating XEQ.

For example, routine Q in the "Normal and Inverse–Normal Distributions"
program in chapter 16 is a subroutine (to calculate Q(x)) that is called from routine
D by line   % . Routine Q ends with a RTN instruction that sends
program execution back to routine D (to store and display the result) at line D0004.
See the flow diagrams below.

The flow diagrams in this chapter use this notation:

  ! 

€

M

Program execution branches from this line to
the line marked



M

("from 1").

   



M

Program execution branches from a line
marked

€

M

("to 1") to this line.

   

Starts

here.

  "! %

  % 

€ M

Calls subroutine Q.

  ! 

 N

Returns here.

  #$ 

 ! 

Starts D again.

   

 M

Starts subroutine.

.

.

.
  !

€ N

Returns to routine D.

Advertising