Section 4: Programming 163
DSZ Decrement and Skip on Zero. Subtracts 1 from an integer in register R8, then skips two program memory locations if R8 contains zero.
  The decrement operation is suppressed outside the limits 1 ≤ |r8| ≤ 1010.
  Useful for loops.
x≠y, x≤y, x=y, x>y. Relational tests of x and y. Each test compares the values in the X and Y registers, and skips two memory locations if the test condition is not met. The tests use R9 and altered the contents.
NOP No operation. Useful as a filler in tests
  fPRGM in W/PRGM mode clears the entire memory to gNOP (merged code 35 01).
SF1 SF2. Set Flag 1, Set Flag 2.
  fSF1 sets flag 1 on while f-1SF1 sets it off.
  fSF2 performs similarly, but using flag 2.
Initially turned off when the calculator is turned on, flags retain their settings until changed by these operations.
TF1 TF2. Test Flag 1, Test Flag 2.
  fTF1 tests flag 1 skipping two memory locations if flag 1 is off while f-1TF1 skips if flag 1 is on.
  fTF2 performs similarly, but using flag 2.
Figure 4-5. Operations Used in Programming Decisions

Relational Test Operations

The four relational tests allow you to program a decision based on the relationship of x to y. This can be valuable in iterative calculations or in simpler applications such as the following.
Sample Case: Relational Test. Create a function B to calculate the arc sine of an input value x (x must be within the limits of –1 and +1). If the resulting angle in decimal degrees is negative or zero, add 360 degrees to it.