ASMB HED . *** T M S L I N K *** NAM $LTMS,7 92903-16100 REV.1913 781215 SPC 3 ********************************************************************** * * * NAME: $LTMS TMS LINK * * SOURCE: &$LTMS 92903-18109 * * BINARY: %$LTMS ----NONE--- PART OF %TMSLB 92903-16100 * * * * PGMR: FRANCOIS GAULLIER * * * ********************************************************************** SPC 2 * ************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- * * * PRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH- * * * OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * ************************************************************** SKP * SPC 3 * * * THIS PROGRAM IS A PART OF THE TERMINAL MONITOR SOFTWARE (TMS), * IT IS USE TO INTERACT WITH THE TMS FROM A EXTERNAL DEVICE. * USING TMSL, ONE CAN LAUNCH A PROCESS ON A GIVEN DEVICE, * STOP OR ABORT THE TMS APPLICATION. * * *RU,TMSL [, [LU] [,T.U.S NAME] ] * * WHERE: * LU IS THE LOGICAL UNIT ON WHICH THE PROCESS 'T.U.S. NAME' * WILL BE LAUNCH. * THE LU MAY BE OMITTED, IN WHICH CASE THE CURRENT ONE * WILL BE USED. * IF LU=98 OR LU=99, THE TMS APPLICATION IS STOPPED OR * ABORTED. * * TUS NAM TMS-USER-SUBROUTINE NAME THAT WILL BE LAUNCH ON * THE LOGICAL UNIT LU. * IF OMITTED THE FOLLOWING PROMPT IS GIVEN ON THE * DEVICE: * "T.U.S. NAME [,LU ] ? " * AND TMSL WAIT FOR THE ANSWER. * * NOTE: * IF THERE IS NO STRING PASSING (I.E.: SHEDULE FROM A PROGRAM * WITHOUT GIVING A STRING TO BE PASSED), THE FIVE PARAMETERS ARE * CHECKED. * OR * P1 IS 98 OR 99 P1 IS LU * P2,P3,P4 D'ONT CARE P2,P3,P4 IS THE T.U.S. * P5 MUST BE -1 P5 MUST BE -2 * * *********************************************** F. GAULLIER (HPG) *** SPC 3 ENT $LTMS EXT RMPAR,EXEC,PNAME,$PARS,REIO SUP SPC 2 LU NOP LUI NOP LU + ECHO BIT ECLAS OCT 0 EXTERNAL CLASS I O WORD ABTCD DEC 17 ABORT CODE STPCD DEC 20 TMS STOP CODE LNKCD DEC 18 TMS-LINK CODE MES ASC 13, /XXXXX: ILLEGAL SCHEDULE ASC 5,REQUEST ! MESA ASC 11,T.U.S. NAME [,LU] ? _ .MES1 DEF MES+1 IP BSS 33 IB BSS 8 IBLEN DEC -16 * SCODE EQU IB STKPT EQU IB+7 SPC 2 $LTMS JSB RMPAR RETREIVE PRG PARAMETERS DEF *+2 DEF IP * LDA IP INIT LU WITH PARAM 1 STA LU * CMA,INA IF(LU<3 OR LU>63) LU=1 ADA D3 CMA STA L.001 LDA LU CMA,INA ADA D63 IOR L.001 LDB D1 GET DEFAULT LU SSA OK ? STB LU NO, SET DEFAULT LU * LDA .D1 INIT SPECIAL FLAG STA .NAME SPC 1 JSB EXEC GET STRING REQUEST DEF *+5 DEF D14 STRING RQ .D1 DEF D1 GET DEF IB BUFFER DEF IBLEN BUFFER LENGTH SZA GET OK ? JMP LTM70 NO, CHECK IF FROM TIME LIST LDA SCODE YES, CHECK REQUEST CODE SZA,RSS INITIALIZATION ? JMP LTM50 YES, GO INIT CPA ABTCD IS IT ABORT ? JMP LTM60 YES, TERMINATE PROGRAM SPC 2 * NOT FROM TMSYS, MUST BE FROM * USER REQUEST "RU,...." * LDA ECLAS CHECK THAT CLASS STILL OK SZA,RSS OK ? JMP LTM90 IF NOT, REPORT ERROR SPC 1 LDA .IP12 SET POINTER STA .NAME LDA .IP8 STA .LU JMP PARSE GO PARSE BUFFER SPC 1 * REQUEST T.U.S AND LU * LTM10 JSB EXEC PRINT "T.U.S. NAME [,LU] ?" DEF *+5 DEF D2 DEF LU DEF MESA DEF DM21 * LDA LU IOR =B400 STA LUI LU + ECHO JSB REIO READ THE ANSWER DEF *+5 BUT BE SWAPPABLE DEF D1 DEF LUI .IB DEF IB DEF IBLEN SZB,RSS INPUT ? JMP LTM95 NO, TERMINATE THE PROGRAM * LDA .IP SET POINTER STA .NAME LDA .IP4 STA .LU * PARSE LDA .IB RECALL BUFFER ADR JSB $PARS AND DO THE PARSE .IP DEF IP STORE RESULT * DLD .LU,I GET TYPE & DATA CPA D1 NUMBER DEFINE ? JMP LTM14 YES, KEEP IT SZA LU DEFAULTED ? JMP LTM90 NO, REPORT ERROR LDB LU YES, GET DEFAULT LU * LTM14 CPB D99 IS IT ABORT REQUEST ? JMP LTM40 YES, GO DO IT CPB D98 IS IT STOP REQUEST ? JMP LTM41 YES, GO DO IT LDA .NAME,I RECALL NAME TYPE CPA DM1 SPECIAL ERROR FLAG ? JMP LTM90 YES, REPORT ERROR CPA DM2 SPECIAL FLAG ? JMP LTM27 YES, LAUNCH THE T.U.S. CPA D2 IS TUS NAME ASCII ? RSS YES, SEND REQUEST TO TMSYS JMP LTM10 NO, ASK AGAIN STB IP SET LU FOR THE LAUNCH LDA .NAME INA GET ADDR OF NAME LDB .IP1 AND MOVE NAME INTO IP MVW D3 LTM27 LDA LNKCD GET TMS-LINK CODE SPC 1 LTM30 STA TEMP SET TMS-CODE NUMBER LDA ECLAS LAST CHECK THAT THE CLASS SZA,RSS IS STILL OK JMP LTM80 CLASS NOT DEFINED ! ERROR JSB EXEC SEND INFO TO TMSYS DEF *+8 DEF NAB20 WRITE/READ NO ABORT DEF D0 DEF IP DEF D4 BUFFER LEN DEF D0 DEF TEMP TMS-CODE NUMBER DEF ECLAS CLASS WORD JMP LTM80 ERROR RETURN !! SPC 1 LTM38 JSB EXEC TERMINATE PROGRAM DEF *+9 WITH 'SAVE SUSPENSION POINT' OPTION DEF D6 DEF D0 CURRENT PROGRAM DEF D1 'SAVE SUSP. POINT' OPTION DEF D0 1ST PARAM DEF D0 1ND PARAM DEF D0 3RD PARAM DEF D0 4TH PARAM DEF D0 5TH PARAM SPC 1 ********************************************************************* SPC 1 JMP $LTMS RESTART FORM BEGINING SPC 3 * OPERATOR REQUEST TO ABORT/STOP THE * TMS APPLICATION * LTM40 CLA STA IP+1 LDA ABTCD GET ABORT CODE JMP LTM30 AND SEND REQUEST TO TMSYS SPC 1 LTM41 LDA STPCD GET STOP CODE JMP LTM30 AND SEND REQUEST TO TMSYS SKP * TMSYS INITIALISE THIS PROGRAM: * SAVE LOCALLY THE CLASS I/O WORD, AND * TERMINATE WITH 'SAVE SUSP. POINT' OPTION. * LTM50 LDA STKPT RECALL STKPT CPA =B100001 IS IT OK ? RSS YES CONTINUE JMP LTM90 NO, REPORT ERROR LDA ECLAS VERIFY THAT THE CLASS IS SZA NOT ALREADY DEFINED JMP LTM80 THE CLASS WAS DEFINED ! ERROR LDA IP+1 RECALL 2ND PARAM STA ECLAS TO INIT THE CLASS I/O WORD JMP LTM95 AND TERMINATE 'SAVE SUS. PT' IF OK SPC 2 * TMSYS STOP THE APPLICATION: * TERMINATE THIS PROGRAM WITHOUT ANY OPTION. * LTM60 LDA IP+1 TMSYS REQUEST TO STOP APPL., CHECK CPA ECLAS IF CLASS STILL OK ? JMP LTM99 YES, TERMINATE WITH NO OPTION JMP LTM90 NO,REPORT ERROR SPC 3 * SHEDULE WITHOUT STRING PASSING: * LTM70 LDA .IP4 NO STRING PASSES, CHECK FROM STA .NAME 'ETMSP', SET SPECIAL ERROR FLAG LDB IP RECALL FIRST PARAM. LDA IP+4 RECALL 5TH PARAM. SZA,RSS NOT DEFINED ? JMP LTM10 YES, ASK TUS & LU SSA,RSS SPECIAL REQUEST FLAG ? JMP LTM90 NO, REPORT ERROR JMP LTM14 YES, TRY TO DO THE REQUEST HED ERROR PROCESSING LTM80 CLA RESET THE CLASS I/O WORD STA ECLAS LDA .NAME,I RECALL FLAG CPA DM1 SPECIAL SOP/ABORT RQ ? JMP LTM95 YES, TMS ALREADY STOPPED * LTM90 LDA .MES1 REPORT ERROR STA T.001 JSB PNAME DEF *+2 T.001 DEF T.001,I LDA MES+3 MERGE THE ":" IOR A: STA MES+3 JSB EXEC PRINT ERROR MESSAGE DEF *+5 DEF D2 DEF LU DEF MES DEF D18 * LTM95 LDA ECLAS TERMINATE PROGRAM WITH CURRENT OPTION SZA CALL I/O WORD DEFINED ? JMP LTM38 YES, TERMINATE 'SAVE SUSP. PT.' SPC 1 LTM99 CLA RESET THE CLASS I/O WORD STA ECLAS IN CASE OF PROGRAM BEING CORE RESIDENT JSB EXEC DEF *+2 DEF D6 SKP A: OCT 72 ":" L.001 NOP TEMP NOP NAB20 OCT 100024 * .IP1 DEF IP+1 .IP4 DEF IP+4 .IP8 DEF IP+8 .IP12 DEF IP+12 .LU NOP .NAME NOP DM21 DEC -21 DM2 DEC -2 DM1 DEC -1 D0 DEC 0 D1 DEC 1 D2 DEC 2 D3 DEC 3 D4 DEC 4 D6 DEC 6 D14 DEC 14 D18 DEC 18 D63 DEC 63 D98 DEC 98 D99 DEC 99 END