m<  CALCULATOR PROGRAM BOTH DECIMAL AND HEX IS SUPPORTED4 HANK SZYSZKA 10/14/1981 BEARSVILLE, NEW YORK( O,E,N,S,M,H 2 I,P9<SORO SET TO A 1 IF THIS IS A SOROC TERMINAL.9FHEAT SET TO A 1 IF THIS IS A HEATH TERMINAL.3Kamscpm set to 1 if cp/m 2.2 on Amstrad4Lamscpm set to 1 if cp/m plus on AmstradP CALC RESTART HEREZ S Jd  CLEAR SCREENnCOROx   SET CURSOR ROUTINE*"LAST OPERAND: "OP <=T/"HEXADECIMAL REGISTER" <"" dK"OLD TOTAL" <T(+(("(O))))"(O) <*HO .  HO LK"ENTERED" <T(+(("(EN))))"(EN) <,HEN .  HEN LK"NEW TOTAL" <T(+(("(N))))"(N) <*HN .  HN LJ"MEMORY" <T(+(("(ME))))"(ME) <,HME .  HME L"" dL"ADD------ + CLEAR ALL------- C SET MEMORY- S HEX------ X" dL"SUBTRACT- - CLEAR, SAVE MEM- Q USE MEMORY- M INFO----- I"  dB"MULTIPLY- * DECIMAL POINT--- . QUIT------- 'QUIT'" " dC,"DIVIDE--- / RESET----------- R REPEAT----- 'ENTER'" 6 d@"" d*J"ENTER:"   GET INPUT DATATOP"""^ONEN&(NV)&h NV "QUIT" F  )r NV"I"      P!| x(NV,) " " 1 x(NV,) "*"     P1 x(NV,) "/"     P1 x(NV,) "-"   N  P0 x(NV,) "+"   NVV1 x(NV,) "X"     P[ NV"C" V"0"ENNMEOOP" CLEAR ALL:" P@ NV"S" MEN OP" MEMORY SAVE:" PM NV"Q" O NENOP" CLEAR MEMORY:" PV NV"M" EN ME  NNENOP" MEMORY USE:" P4 NV"R" ENOP" RESET:" PNN(&(NV))EN&(NV) NV"" POP" ADDITION:"  P" DIVIDE ROUTINE ***********9& V"M" ENMENNEN : 0N N (&(V)):OP" DIVIDE :"D&N SUBTRACT ROUTINE *************<X V"M" NNME ENME vbN N(&(V))lEN&(V)vOP" SUBTRACT:" HEX CONVERSION HERE!OP" HEX DATA ENTRY: "HV  ENSNNEN$V|(NV,((NV)))EN&(V)* MULTIPLY ROUTINE *****************9 V"M" ENMENNME  N &(V)N OP" MULTIPLY :"  HERE FOR HELP MESSAGES$*CORO    dI4"MAXIMUM INPUT: 16 DECIMAL DIGITS, 4 HEXADICIMAL DIGITS." dI>" OUTPUT: 16 DECIMAL DIGITS, 4 HEXADICIMAL DIGITS." dHH"VALUES MAY BE CHAINED BY SEPARATING THEM WITH A BLANK," dER"THE OPERATORS (+,-,*,/,X) PRECEED THE VALUE WITH NO" dK\"INTERVEENING BLANK, EG, 1 +2 *4 /5 -2 (DEFALT OPERATOR IS ADD)." f dDp"FUNCTION CHAINING OF (C,Q,R,S,I) IS NOT PERMITTED." dzOP" INFORMATION "#"PRESS RETURN KEY:"   P!OP" IMPROPER ENTRY:"NV"0"V"0"  P5********** HEX CONVERSION ROUTINE ************%(H)S"123456789ABCDEF"  %(H,,) GET DIGITw (,)/ "F" OP" ERROR *****" P#SS((()))   $ DECIMAL TO HEX TRANSLATE&. H HH(H)8 j T7 FB*L CONVERT HEX ENTRY TO HEX PRINT OUT(V j T@ F"" d`&j H "OVERFLOW"(t H "OVERFLOW"~ t(H) H "FF"$ HERE FOR LINE INPUT FUNCTIONCORO  T < SA"" ;SA5Sw(SA," ") S SA"" < S SA"" NVSA SA"" 7NVx(SA,S)SA(SA,S)- HEAT ();"E "- SORO ();"* " amscpm ( );! amscpm ();"E";"  CURSOR POSITIONING ROUTINE&COCO RORO 5 HEAT ();"Y";(RO);(CO);5( SORO ();"=";(RO);(CO);3- amscpm ();(RO);(CO);7/ amscpm ();"Y";(RO);(CO);2< PRINT OUTPUT ROUTINEF (T);;P""TZ d  n""x1 ,  DUMMY ENTRY FOR LINE INPUT BUG.(T);