beautypg.com

Calling subroutines (xeq, rtn) – HP 32SII User Manual

Page 192

background image

13–2 Programming

Techniques

File name 32sii-Manual-E-0424
Printed Date : 2003/4/24 Size : 17.7 x 25.2 cm

A routine typically starts with a label (LBL) and ends with an instruction that
alters or stops program execution, such as RTN, GTO, or STOP, or perhaps
another label.

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 XBQ.

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 D04. See the flow diagrams below.

The flow diagrams in this chapter use this notation:

!

€

1

Program execution branches from this line to
the line marked



1

("from 1").



1

Program execution branches from a line
marked

€

1

("to 1") to this line.