"RECEIVE PROGRAM LISTING" ------------------------- THIS IS A 'TYPED ON A TERMINAL LISTING' OF THE HP9820A CALCULATOR PROGRAM THAT RUNS WITH HPXFR.TSK. SINCE SOME OF THE CALCULATOR KEYS ARE NOT AVAILABLE ON THE TERMINAL, THE FOLLOWING CONVENTIONS ARE USED IN THIS LISTING: HP9820A KEY REPRESENTED BY: ----------- --------------- GAZINTA (RIGHT ARROW) = GREATER THAN .GT. NOT EQUAL .NE. GREATER THAN OR EQUAL TO .GE. LESS THAN OR EQUAL TO .LE. RAISE TO EXPONENT ** LAZY T (LINE TERMINATOR) # 0: TBL 4;TBL 5; TBL 6# 1: WTB 15,82;WTB 15,13# 2: "MOR";RDB 15=X# 3: IF X .NE. 71;DSP "LOOKING FOR G";JMP -1# 4: WTB 15,70;WTB 15,13# 5: DSP "FIRE SENT"# 6: FMT FXD 3.0# 7: RED 15,X# 8: IF 2 .GT. X;GTO "BYT"# 9: FMT 4FLT 16.9# 10: RDB 15=X# 11: IF X .NE. 71;DSP "LOOKING FOR G";JMP -1# 12: WTB 15,70;WTB 15,13# 13: DSP "FIRE SENT"# 14: RED 15,RA,R(A+1),R(A+2),R(A+3)# 15: DSP RA;4+A=A# 16: IF A .GT. 100;WTB 15,77;WTB 15,13;DSP "M";STP# 17: GTO "MOR"# 18: "BYT";WTB 15,70;WTB 15,13# 19: 55**5=Z# 20: RDB 15=C# 21: IF C .EQ. 90;DSP "Z >> DONE";WTB 15,68;WTB 15,13;GTO "LI"# 22: DSP "UNKNOWN BYT";STP# 23: "LI";0=A;ENT "HOW MANY",Y# 24: "PR";PRT RA;SPC# 25: 1+A=A# 26: IF A .EQ. Y;STP# 27: GTO "PR"# 28: END# THE EXPONENTIATION AT LINE 19 CAUSES A DELAY BETWEEN THE INTERFACE WRITE AND READ COMMANDS. WITHOUT THIS DELAY, EXTRA BITS ARE SOMETIMES ADDED TO THE DATA. THE 100 AT LINE 16 IS THE NUMBER OF FREE REGISTERS THERE ARE TO FILL WITH RECEIVED DATA. THE "LI" ROUTINE LISTS THE RECEIVED DATA. THIS IS THE PLACE TO PUT A ROUTINE THAT DOES SOMETHING USEFUL WITH THE DATA.