| Data

13015: THE TABLE OF ADDRESSES

Used by the routine at CALCULATE. This table is a look-up table of the addresses of the sixty-six operational subroutines of the calculator. The offsets used to index into the table are derived either from the operation codes used in the routine at SCANNING (see S_LOOP, etc.) or from the literals that follow a 'RST 40' instruction.
CALCADDR | 13015 | DEFW jump_true | 0
| 13017 | DEFW exchange | 1
| 13019 | DEFW delete | 2
| 13021 | DEFW subtract | 3
| 13023 | DEFW multiply | 4
| 13025 | DEFW division | 5
| 13027 | DEFW to_power | 6
| 13029 | DEFW no_or_no | 7
| 13031 | DEFW no_and_no | 8
| 13033 | DEFW compare | 9: <= (numbers)
| 13035 | DEFW compare | 10: >= (numbers)
| 13037 | DEFW compare | 11: <> (numbers)
| 13039 | DEFW compare | 12: > (numbers)
| 13041 | DEFW compare | 13: < (numbers)
| 13043 | DEFW compare | 14: = (numbers)
| 13045 | DEFW addition | 15
| 13047 | DEFW str_no | 16
| 13049 | DEFW compare | 17: <= (strings)
| 13051 | DEFW compare | 18: >= (strings)
| 13053 | DEFW compare | 19: <> (strings)
| 13055 | DEFW compare | 20: > (strings)
| 13057 | DEFW compare | 21: < (strings)
| 13059 | DEFW compare | 22: = (strings)
| 13061 | DEFW strs_add | 23
| 13063 | DEFW val | 24 (VAL$)
| 13065 | DEFW usr | 25
| 13067 | DEFW read_in | 26
| 13069 | DEFW negate | 27
| 13071 | DEFW code | 28
| 13073 | DEFW val | 29 (VAL)
| 13075 | DEFW len | 30
| 13077 | DEFW sin | 31
| 13079 | DEFW cos | 32
| 13081 | DEFW tan | 33
| 13083 | DEFW asn | 34
| 13085 | DEFW acs | 35
| 13087 | DEFW atn | 36
| 13089 | DEFW ln | 37
| 13091 | DEFW exp | 38
| 13093 | DEFW int | 39
| 13095 | DEFW sqr | 40
| 13097 | DEFW sgn | 41
| 13099 | DEFW abs | 42
| 13101 | DEFW peek | 43
| 13103 | DEFW f_in | 44
| 13105 | DEFW usr_no | 45
| 13107 | DEFW str | 46
| 13109 | DEFW chrs | 47
| 13111 | DEFW f_not | 48
| 13113 | DEFW duplicate | 49
| 13115 | DEFW n_mod_m | 50
| 13117 | DEFW jump | 51
| 13119 | DEFW stk_data | 52
| 13121 | DEFW dec_jr_nz | 53
| 13123 | DEFW less_0 | 54
| 13125 | DEFW greater_0 | 55
| 13127 | DEFW end_calc | 56
| 13129 | DEFW get_argt | 57
| 13131 | DEFW truncate | 58
| 13133 | DEFW fp_calc_2 | 59
| 13135 | DEFW e_to_fp | 60
| 13137 | DEFW re_stack | 61
| 13139 | DEFW series | 62
| 13141 | DEFW stk_con | 63
| 13143 | DEFW st_mem | 64
| 13145 | DEFW get_mem | 65
Note: the last four subroutines are multi-purpose subroutines and are entered with a parameter that is a copy of the right hand five bits of the original literal. The full set follows: Offset 62: series-06, series-08 and series-0C; literals 134, 136 and 140. Offset 63: stk-zero, stk-one, stk-half, stk-pi/2 and stk-ten; literals 160 to 164. Offset 64: st-mem-0, st-mem-1, st-mem-2, st-mem-3, st-mem-4 and st-mem-5; literals 192 to 197. Offset 65: get-mem-0, get-mem-1, get-mem-2, get-mem-3, get-mem-4 and get-mem-5; literals 224 to 229.