,10,14,2,5 '.' i6 .
@ BTN,,10,19,2,5 '=' i6 BTN,,10,26,2,4 '/' i6 .
@ BTN,,12,03,2,4 'M+' i6 BTN,,13,09,1,3 'Ab' i6 .
@ BTN,,13,12,1,3 'Ac' i6 BTN,,13,15,1,3 'As' i6 .
@ BTN,,13,18,1,3 'At' i6 BTN,,13,21,1,3 'Cr' i6 .
@ BTN,,13,24,1,3 'Cs' i6 BTN,,13,27,1,3 'Ct' i6 .
@ BTN,,14,03,2,4 'M-' i6 BTN,,14,09,1,3 'Dr' i6 .
@ BTN,,14,12,1,3 'Ex' i6 BTN,,14,15,1,3 'Fp' i6 .
@ BTN,,14,18,1,3 'Hc' i6 BTN,,14,21,1,3 'Hs' i6 .
@ BTN,,14,24,1,3 'Ht' i6 BTN,,14,27,1,3 'Ip' i6 .
@ BTN,,15,09,1,3 'Le' i6 BTN,,15,12,1,3 'Lt' i6 .
@ BTN,,15,15,1,3 'Pi' i6 BTN,,15,18,1,3 'Rd' i6 .
@ BTN,,15,21,1,3 'Si' i6 BTN,,15,24,1,3 'Sr' i6 .
@ BTN,,15,27,1,3 'Ta' i6 .
@0005:TXT,"", IF > 0 JUV,r ;.
@ CLS, EDT,"",,2,9,1,15,,3r SHW, .
@ INP, ,(0010),,(0020),<0>,(0022),<1>,(0024),<2>,(0026),\
<3>,(0028),<4>,(0030),<5>,(0032),<6>,(0034),<7>,(0036),<8>,(0038),\
<9>,(0040),,(0042),,(0046),,(0048),,(0050),,(0052),\
,(0054),,(0110),,(0112),,(0056),,(0058),,(0060),\
,(0062),,(0064),,(0066),,(0068),,(0070),,(0072),\
,(0074),,(0076),,(0078),,(0080),,(0082),,(0084),\
,(0086),,(0088),,(0090),,(0092),,(0094),,(0096),\
,(0098),,(0100),,(0100),,(0102),,(0104) ;.
@ IF INPUT$ = 0188,(0188),0199,(0199) ;GTO 0151 .
@0010:CHG INPUT$ LCV '' ','/'' LDV,r DEF , . <- kill commas
@ IF = 1,(0018),2,4,(LIN1),5,(0015) ;GTO 0151 . <- valid input?
@ LDV,l IF = +,-,*,/ LDV = GTO 0054 ;. <- keyed operation?
@ IF = C,(0110),CE,(0112),MC,(0098),MR,(0100),M+,(0102),M-,(0104) ;.
@ GTO 0151 .
@0015:IF (15-1) = +,-,*,/ LDV =(15-1),(15-1)='' GTO 0020 ;.
@ GTO 0151 .
@0018:LDV,l IF (1-1) = +,-,*,/ LDV =(1-1),(1-1)=,= ;.
@0020:LDV,r ,| = GTO 0054 .
@0022:LDV =0 GTO 0044 .
@0024:LDV =1 GTO 0044 .
@0026:LDV =2 GTO 0044 .
@0028:LDV =3 GTO 0044 .
@0030:LDV =4 GTO 0044 .
@0032:LDV =5 GTO 0044 .
@0034:LDV =6 GTO 0044 .
@0036:LDV =7 GTO 0044 .
@0038:LDV =8 GTO 0044 .
@0040:LDV =9 GTO 0044 .
@0042:LDV ='.' .
@0044:LDV,l | LDV | (0-1)= LCV T@ | ' '/'' LDV,r | ,= | .
@ GTO 0005 . <- accumulate input
@0046:LDV =+ GTO 0054 .
@0048:LDV =- GTO 0054 .
@0050:LDV =* GTO 0054 .
@0052:LDV =/ .
@0054:IF ne 0 IF ne '' ART . ;\ <- calculate
IF ne '' LDV = ;.
@ LDV =,=,='' GTO 0005 . <- show new total
@0056:LDV h3=ABS GTO 0108 . <- absolute value or magnitude
@0058:IF ge -1 & le 1 LDV h4=ACOS GTO 0108 ;GTO 0152 . <- arc cosine
@0060:IF ge -1 & le 1 LDV h4=ASIN GTO 0108 ;GTO 0152 . <- arc sine
@0062:LDV h4=ATAN GTO 0108 . <- arc tangent
@0064:LDV h4=CBRT GTO 0108 . <- cube root
@0066:LDV h3=COS GTO 0108 . <- cosine
@0068:LDV h3=CTN GTO 0108 . <- cotangent
@0070:LDV h3=DEG GTO 0108 . <- radians expressed in degrees
@0072:IF ge 0 & le 709 LDV h3=EXP GTO 0108 ;GTO 0153 . <-exponent(E to n)
@0074:LDV h4=FRAC GTO 0108 . <- fractional portion
@0076:IF ge -710 & le 710 LDV h4=HCOS GTO 0108 ;GTO 0154 . <- hyprblc cs
@0078:IF ge -710 & le 710 LDV h4=HSIN GTO 0108 ;GTO 0154 . <- hyprblc sn
@0080:LDV h4=HTAN GTO 0108 . <- hyperbolic tangent
@0082:LDV h3=INT GTO 0108 . <- integer portion
@0084:IF > 0 LDV h3=LOG GTO 0108 ;GTO 0155 . <- logarith in base e
@0086:IF > 0 LDV h5=LOG10 GTO 0108 ;GTO 0155 . <- logarith in base 10
@0088:ART PI LDV = GTO 0005 . <- pi
@0090:LDV h3=RAD GTO 0108 . <- degrees in radians
@0092:LDV h3=SIN GTO 0108 . <- sine
@0094:IF > 0 LDV h4=SQRT GTO 0108 ;GTO 0155 . <- square root
@0096:LDV h3=TAN GTO 0108 . <- tangent
@0098:TXT," ", LDV ='',=,= GTO 0005 . clear the memory flag
@0100:LDV =,| = GTO 0005 . <- recall memory
@0102:IF ne '' ART + LDV = ;GTO 0106 . <- memory +
@0104:IF ne '' ART - LDV = ;. <- memory -
@0106:IF = '' TXT,"M", LDV =X ;GTO 0005 .
@0108:IF ne '' LDV,p a15= . ;LDV i1=1 .
@ XQT '@ART ''('') GTO 0005 . ' . <- scientific calculation
@0110:LDV,r =0,=0,=+,=+, | | | | | | | |