The programming functions on the HP 30b are not provided (printed) on the keyboard. Programming commands are mapped to the shift-hold positions of the top 4 rows of keys.

Programming template:

Row 1 (Top): Six conditional test are present comparing two values. The test push value 1 if true or value 0 if false to the stack.

Row 2: Conditional transfers are goto if true (displayed as GT in a program but GOTOT on the keyboard overlay) and goto if false (displayed as GF in a program, but GOTOF on the keyboard overlay), but note that these conditionals consume the argument on the stack. A quick test for x=0? and a branch to a label if true is (of all things) merely to place a GF XY instruction in a program and if the value in X is equal to zero, a branch to label XY will occur. This works because a zero is a false argument and GF will branch to the indicated label if the display contains a zero. An unconditional goto is also provided. Destinations for these gotos are any of 100 global numeric labels, 00 through 99.

Row 3: Values can be displayed while a program is running using the DISP command.

Row 4: Four levels of subroutines are available using the CALL and RTN commands. Even a short prompt of letters can be displayed using the MSG command.