Loops with Counters (DSE, ISG)

When you want to execute a loop a specific number of times, use the {l (increment; skip if greater than) or m(decrement; skip if less than or equal to) conditional function keys. Each time a loop function is executed in a program, it automatically decrements or increments a counter value stored in a variable. It compares the current counter value to a final counter value, then continues or exits the loop depending on the result.

For a count–down loop, use mvariable

For a count–up loop, use {lvariable

These functions accomplish the same thing as a FOR–NEXT loop in BASIC:

 variable = initial–value ! final–value ! increment

.

.

.

%! variable

A DSE instruction is like a FOR–NEXT loop with a negative increment.

After pressing a shifted key for ISG or DSE ( {lor m), you will be prompted for a variable that will contain the loop–control number (described below).

The Loop–Control Number

The specified variable should contain a loop–control number ±ccccccc.fffii, where:

„±ccccccc is the current counter value (1 to 12 digits). This value changes with loop execution.

„fff is the final counter value (must be three digits). This value does not change as the loop runs.

„ii is the interval for incrementing and decrementing (must be two digits or unspecified). This value does not change. An unspecified value for ii is assumed to be 01 (increment/decrement by 1).

Given the loop–control number ccccccc.fffii, DSE decrements ccccccc to

ccccccc— ii, compares the new ccccccc with fff, and makes program execution skip the next program line if this ccccccc fff.

13–18Programming Techniques

Page 202
Image 202
HP 33s Scientific manual Loops with Counters DSE, ISG, 13-18Programming Techniques, Loop-Control Number