The Museum of HP Calculators


Improved Financial Calculator For the HP-67/97

This program is Copyright © 1997 by John H. Meyer and is used here by permission.

This program is supplied without representation or warranty of any kind. The author and The Museum of HP Calculators therefore assume no responsibility and shall have no liability, consequential or otherwise, of any kind arising from the use of this program material or any part thereof.

Card Labels
Improved financial calculator
Shift Nominal → Effective Effective → Nominal   Begin/End period Reset   
Label Number of Payments Interest Payment Present Value Future value
Key A B C D E

Overview And Instructions

For financial calculations:

  1. Press Reset to clear calculator for next calculation
  2. Enter at least three values (out of number of periods, interest rate, payments, present value, and future value). Press one of remaining buttons without first entering a digit to solve for that value.
  3. Works just like normal HP financial calculators of that era.

If you want to calculate annuities starting at the beginning of the period, toggle the Begin/End period flag by pressing [f] [C]. End of period is zero, beginning of period is one.

For nominal to effective interest rate conversions:

  1. Enter the number of periods and either the nominal or effective interest rate.
  2. If you entered nominal rate, press Nominal → Effective to make conversion (or vice versa).

Notes:

  1. The only register not used by the program is register 0. You can store values there between calculations.
  2. You can recall any of the entries or calculations by pressing RCL followed by the appropriate key (e.g., to recall interest rate, press [RCL] [B]).
  3. The Keystrokes column below applies to the HP-67. Keystrokes for the HP-97 are different.

The Program

LINE    CODE      KEYS       KEYSTROKES (67)  COMMENTS
 001  31 25 11    Label A    [f] [LBL] [A]    Number of periods
 002     33 11    STOA       [STO] [A]
 003  35 71 03    F3?        [h] [F?] [3]
 004     35 22    RTN        [h] [RTN]
 005         0    0          [0]
 006     33 11    STOA       [STO] [A]
 007  31 22 00    GSB0       [f] [GSB] [0]
 008     34 15    RCLE       [RCL] [E]
 009     35 82    LST X      [h] [LST X]
 010        51    -          [-]
 011     34 14    RCLD       [RCL] [D]
 012     35 82    LST X      [h] [LST X]
 013        51    -          [-]
 014        81    ÷          [÷]
 015     31 52    LN         [f] [LN]
 016     34 07    RCL7       [RCL] [7]
 017     31 52    LN         [f] [LN]
 018        81    ÷          [÷]
 019     22 11    GTOA       [GTO] [A]
 020  31 25 13    Label C    [f] [LBL] [C]    Number of payments
 021     33 13    STOC       [STO] [C]
 022  35 71 03    F3?        [h] [F?] [3]
 023     35 22    RTN        [h] [RTN]
 024        01    1          [1]
 025     33 13    STOC       [STO] [C]
 026  31 22 00    GSB0       [f] [GSB] [0]
 027     35 62    1/x        [h] [1/x]
 028     34 14    RCLD       [RCL] [D]
 029     35 54    R↑         [h] [R↑]
 030        51    -          [-]
 031        71    ×          [×]
 032     22 13    GTOC       [GTO] [C]
 033  31 25 14    Label D    [f] [LBL] [D]    Present value
 034     33 14    STOD       [STO] [D]
 035  35 71 03    F3?        [h] [F?] [3]
 036     35 22    RTN        [h] [RTN]
 037        01    1          [1]
 038     33 14    STOD       [STO] [D]
 039  31 22 00    GSB0       [f] [GSB] [0]
 040        61    +          [+]
 041     22 14    GTOD       [GTO] [D]
 042  31 25 15    Label E    [f] [LBL] [E]    Future value
 043     33 15    STOE       [STO] [E]
 044  35 71 03    F3?        [h] [F?] [3]
 045     35 22    RTN        [h] [RTN]
 046  31 22 00    GSB0       [f] [GSB] [0]
 047  31 22 02    GSB2       [f] [GSB] [2]
 048     22 15    GTOE       [GTO] [E]
 049  31 25 00    Label 0    [f] [LBL] [0]
 050  35 51 03    SF3        [h] [SF] [3]
 051  35 61 01    CF1        [h] [CF] [1]
 052     34 14    RCLD       [RCL] [D]
 053     31 51    X=0?       [f] [X=0?]
 054  35 51 01    SF1        [h] [SF] [1]
 055        01    1          [1]
 056     33 05    STO5       [STO] [5]
 057     34 12    RCLB       [RCL] [B]
 058     31 82    %          [f] [%]
 059     33 09    STO9       [STO] [9]
 060        61    +          [+]
 061  35 71 00    F0?        [h] [F?] [0]     Check for begin/end
 062     33 05    STO5       [STO] [5]
 063     33 07    STO7       [STO] [7]
 064     34 11    RCLA       [RCL] [A]
 065        42    CHS        [CHS]
 066     35 63    yx         [h] [yx]
 067     33 08    STO8       [STO] [8]
 068     34 15    RCLE       [RCL] [E]
 069        71    ×          [×]
 070        01    1          [1]
 071     34 08    RCL8       [RCL] [8]
 072        51    -          [-]
 073     33 04    STO4       [STO] [4]
 074     34 13    RCLC       [RCL] [C]
 075     34 09    RCL9       [RCL] [9]
 076        81    ÷          [÷]
 077  35 71 01    F1?        [h] [F?] [1]
 078        42    CHS        [CHS]
 079     33 03    STO3       [STO] [3]
 080     34 05    RCL5       [RCL] [5]
 081        71    ×          [×]
 082        71    ×          [×]
 083     35 22    RTN        [h] [RTN]
 084  32 25 14    Label d    [g] [LBL f] [d]  Reset
 085        44    CLX        [CLX]
 086     33 13    STOC       [STO] [C]
 087     33 14    STOD       [STO] [D]
 088     33 15    STOE       [STO] [E]
 089  35 61 00    CF0        [h] [CF] [0]
 090  35 61 03    CF3        [h] [CF] [3]
 091     35 22    RTN        [h] [RTN]
 092  32 25 13    Label c    [g] [LBL f] [c]  Begin/End period
 093        01    1          [1]
 094  35 71 00    F0?        [h] [F?] [0]
 095        00    0          [0]
 096  35 51 00    SF0        [h] [SF] [0]
 097     31 51    X=0?       [f] [X=0?]
 098  35 61 00    CF0        [h] [CF] [0]
 099     35 22    RTN        [h] [RTN]
 100  31 25 12    Label B    [f] [LBL] [B]    Interest rate
 101     33 12    STOB       [STO] [B]
 102  35 71 03    F3?        [h] [F?] [3]
 103     35 22    RTN        [h] [RTN]
 104        00    0          [0]
 105     33 12    STOB       [STO] [B]
 106     33 01    STO1       [STO] [1]
 107        02    2          [2]
 108        01    1          [1]
 109     35 33    STOI       [h] [STI]
 110     34 15    RCLE       [RCL] [E]
 111     34 14    RCLD       [RCL] [D]
 112     33 03    STO3       [STO] [3]
 113     31 51    X=0?       [f] [X=0?]
 114     35 52    X⇔Y        [h] [X⇔Y]
 115        51    -          [-]
 116  33 61 03    ST+3       [STO] [+] [3]
 117     34 11    RCLA       [RCL] [A]
 118  33 71 03    STx3       [STO] [×] [3]
 119     34 13    RCLC       [RCL] [C]
 120     31 51    X=0?       [f] [X=0?]
 121     22 08    GTO8       [GTO] [8]
 122        71    ×          [×]
 123        61    +          [+]
 124     35 82    LST X      [h] [LST X]
 125     34 11    RCLA       [RCL] [A]
 126        71    ×          [×]
 127        02    2          [2]
 128        81    ÷          [÷]
 129     34 03    RCL3       [RCL] [3]
 130        61    +          [+]
 131        81    ÷          [÷]
 132     31 51    X=0?       [f] [X=0?]
 133     35 22    RTN        [h] [RTN]
 134  31 22 05    GSB5       [f] [GSB] [5]
 135  31 25 06    Label 6    [f] [LBL] [6]
 136  31 22 00    GSB0       [f] [GSB] [0]
 137  31 22 01    GSB1       [f] [GSB] [1]
 138     34 01    RCL1       [RCL] [1]
 139     35 52    X⇔Y        [h] [X⇔Y]
 140     33 01    STO1       [STO] [1]
 141        81    ÷          [÷]
 142     31 61    X≠0?       [f] [X≠0?]
 143     22 04    GTO4       [GTO] [4]
 144     34 12    RCLB       [RCL] [B]
 145        01    1          [1]
 146     31 82    %          [f] [%]
 147     33 02    STO2       [STO] [2]
 148  33 61 24    ST+i       [STO] [+] [(i)]
 149     22 06    GTO6       [GTO] [6]
 150  31 25 04    Label 4    [f] [LBL] [4]
 151     31 52    LN         [f] [LN]
 152     34 02    RCL2       [RCL] [2]
 153     35 52    X⇔Y        [h] [X⇔Y]
 154        81    ÷          [÷]
 155     34 01    RCL1       [RCL] [1]
 156     34 15    RCLE       [RCL] [E]
 157     34 14    RCLD       [RCL] [D]
 158     31 61    X≠0?       [f] [X≠0?]
 159     35 52    X⇔Y        [h] [X⇔Y]
 160     35 53    R↓         [h] [R↓]
 161        81    ÷          [÷]
 162     31 52    LN         [f] [LN]
 163        71    ×          [×]
 164     33 02    STO2       [STO] [2]
 165  33 61 24    ST+i       [STO] [+] [(i)]
 166     34 12    RCLB       [RCL] [B]
 167        81    ÷          [÷]
 168     31 24    RND        [f] [RND]
 169     31 61    X≠0?       [f] [X≠0?]
 170     22 06    GTO6       [GTO] [6]
 171     34 12    RCLB       [RCL] [B]
 172     22 12    GTOB       [GTO] [B]
 173  31 25 08    Label 8    [f] [LBL] [8]
 174     34 15    RCLE       [RCL] [E]
 175     34 14    RCLD       [RCL] [D]
 176        81    ÷          [÷]
 177     34 11    RCLA       [RCL] [A]
 178     35 62    1/x        [h] [1/x]
 179     35 63    yx         [h] [yx]
 180        01    1          [1]
 181        51    -          [-]
 182     22 05    GTO5       [GTO] [5]
 183  31 25 01    Label 1    [f] [LBL] [1]
 184  35 71 01    F1?        [h] [F?] [1]
 185     22 02    GTO2       [GTO] [2]
 186        61    +          [+]
 187     35 22    RTN        [h] [RTN]
 188  31 25 02    Label 2    [f] [LBL] [2]
 189     34 14    RCLD       [RCL] [D]
 190     35 52    X⇔Y        [h] [X⇔Y]
 191        51    -          [-]
 192     34 08    RCL8       [RCL] [8]
 193        81    ÷          [÷]
 194     35 22    RTN        [h] [RTN]
 195  32 25 11    Label a    [g] [LBL f] [a]  Nominal → Effective
 196        01    1          [1]
 197     34 12    RCLB       [RCL] [B]
 198     34 11    RCLA       [RCL] [A]
 199        81    ÷          [÷]
 200     31 82    %          [f] [%]
 201        61    +          [+]
 202     34 11    RCLA       [RCL] [A]
 203     35 63    yx         [h] [yx]
 204        01    1          [1]
 205        51    -          [-]
 206     22 05    GTO5       [GTO] [5]
 207  32 25 12    Label b    [g] [LBL f] [b]  Effective → Nominal
 208        01    1          [1]
 209     34 12    RCLB       [RCL] [B]
 210     31 82    %          [f] [%]
 211        61    +          [+]
 212     34 11    RCLA       [RCL] [A]
 213     35 62    1/x        [h] [1/x]
 214     35 63    yx         [h] [yx]
 215        01    1          [1]
 216        51    -          [-]
 217     34 11    RCLA       [RCL] [A]
 218        71    ×          [×]
 219  31 25 05    Label 5    [f] [LBL] [5]
 220        43    EEX        [EEX]
 221        02    2          [2]
 222        71    ×          [×]
 223     33 12    STOB       [STO] [B]
 224     35 22    RTN        [h] [RTN]

Register Use

All registers except R0 are used.

Go back to the software library
Go back to the main exhibit hall