Prev: 32C5 Up: Map Next: 335B
32D7: 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 $28' instruction.
CALCADDR 32D7 DEFW jump_true +00
32D9 DEFW exchange +01
32DB DEFW delete +02
32DD DEFW subtract +03
32DF DEFW multiply +04
32E1 DEFW division +05
32E3 DEFW to_power +06
32E5 DEFW no_or_no +07
32E7 DEFW no_and_no +08
32E9 DEFW compare +09: <= (numbers)
32EB DEFW compare +0A: >= (numbers)
32ED DEFW compare +0B: <> (numbers)
32EF DEFW compare +0C: > (numbers)
32F1 DEFW compare +0D: < (numbers)
32F3 DEFW compare +0E: = (numbers)
32F5 DEFW addition +0F
32F7 DEFW str_no +10
32F9 DEFW compare +11: <= (strings)
32FB DEFW compare +12: >= (strings)
32FD DEFW compare +13: <> (strings)
32FF DEFW compare +14: > (strings)
3301 DEFW compare +15: < (strings)
3303 DEFW compare +16: = (strings)
3305 DEFW strs_add +17
3307 DEFW val +18 (VAL$)
3309 DEFW usr +19
330B DEFW read_in +1A
330D DEFW negate +1B
330F DEFW code +1C
3311 DEFW val +1D (VAL)
3313 DEFW len +1E
3315 DEFW sin +1F
3317 DEFW cos +20
3319 DEFW tan +21
331B DEFW asn +22
331D DEFW acs +23
331F DEFW atn +24
3321 DEFW ln +25
3323 DEFW exp +26
3325 DEFW int +27
3327 DEFW sqr +28
3329 DEFW sgn +29
332B DEFW abs +2A
332D DEFW peek +2B
332F DEFW f_in +2C
3331 DEFW usr_no +2D
3333 DEFW str +2E
3335 DEFW chrs +2F
3337 DEFW f_not +30
3339 DEFW duplicate +31
333B DEFW n_mod_m +32
333D DEFW jump +33
333F DEFW stk_data +34
3341 DEFW dec_jr_nz +35
3343 DEFW less_0 +36
3345 DEFW greater_0 +37
3347 DEFW end_calc +38
3349 DEFW get_argt +39
334B DEFW truncate +3A
334D DEFW fp_calc_2 +3B
334F DEFW e_to_fp +3C
3351 DEFW re_stack +3D
3353 DEFW series +3E
3355 DEFW stk_con +3F
3357 DEFW st_mem +40
3359 DEFW get_mem +41
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 +3E: series-06, series-08 and series-0C; literals +86, +88 and +8C.
  • Offset +3F: stk-zero, stk-one, stk-half, stk-pi/2 and stk-ten; literals +A0 to +A4.
  • Offset +40: st-mem-0, st-mem-1, st-mem-2, st-mem-3, st-mem-4 and st-mem-5; literals +C0 to +C5.
  • Offset +41: get-mem-0, get-mem-1, get-mem-2, get-mem-3, get-mem-4 and get-mem-5; literals +E0 to +E5.
Prev: 32C5 Up: Map Next: 335B