ASMB,Q,C NAM DSTES,19,110 91750-16100 REV.2013 790425 MEF * * *************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1980. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT* * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * *************************************************************** * * PROGRAM TO PERFORM THE P-TO-P SLAVE FUNCTIONS OF THE DS/3000 * TEST PROGRAM "DSTEST". ONLY ONE MASTER CAN BE HANDLED AT A * TIME. SEE DOCUMENTATION IN THE DS/3000 MANUAL REGARDING THE * RUNNING OF "DSTEST". * * * NAME: DSTES * SOURCE: 91750-18100 * RELOC: 91750-16100 * PGMR: DMT * * DATE WRITTEN: FEBRUARY 22, 1978 * CHANGED FROM FORTRAN TO ASSEMBLER: APRIL 25, 1980 SPC 2 EXT RMPAR,GET,ACEPT,REJCT,FINIS,EXEC EXT D$MAX,D$TST SPC 2 * INTEGER TAG(20),CLASS(5) TAG BSS 20 CLASS BSS 5 *+ INTEGER ERROR,FUNCT,LEN ERROR BSS 1 + FUNCT BSS 1 + LEN BSS 1 + * * GET CLASS NUMBER AND ACCEPT POPEN DSTES EQU * *+ CALL RMPAR(CLASS) JSB RMPAR + DEF *+02 + DEF CLASS + *+ CALL GET(CLASS,ERROR,FUNCT,TAG,LEN) JSB GET + DEF *+06 + DEF CLASS + DEF ERROR + DEF FUNCT + DEF TAG + DEF LEN + LDA ERROR IF ERROR < 0 SSA JMP L900 LDA FUNCT OR FUNCT <>1 CPA =D1 RSS JMP L900 GO TO L900. SPC 1 ** MAIN LOOP...ACCEPT PREVIOUS FUNCTION AND WAIT FOR PWRITE * (DSTES WILL TERMINATE WHEN MASTER SENDS A PCLOSE) L10 EQU * *+ CALL ACEPT(TAG,ERROR,BUFFER) JSB ACEPT + DEF *+04 + DEF TAG + DEF ERROR + DEF D$TST + L20 EQU * LDA ERROR IF ERROR < 0, SSA JMP L950 GO TO L950. *+ CALL GET(CLASS,ERROR,FUNCT,TAG,LEN) JSB GET + DEF *+06 + DEF CLASS + DEF ERROR + DEF FUNCT + DEF TAG + DEF LEN + * IF(ERROR .LT. 0 .OR. LEN .GT. D$MAX)GO TO 900 LDA ERROR SSA JMP L900 LDA D$MAX + CMA,INA + ADA LEN + CMA,SSA,INA,SZA + JMP L900 LDA FUNCT IF FUNCT <> 3 CPA D3 GO TO L800. JMP L10 OTHERWISE, STAY IN LOOP. SPC 1 * BAD FUNCTION CALL RECEIVED. REJECT IT AND JUMP BACK INTO LOOP. L800 EQU * *+ CALL REJCT(TAG,ERROR) JSB REJCT + DEF *+03 + DEF TAG + DEF ERROR + JMP L20 SPC 2 * *** ERROR *** REJECT CALL, THEN ABORT L900 EQU * *+ CALL REJCT(TAG,ERROR) JSB REJCT + DEF *+03 + DEF TAG + DEF ERROR + L950 EQU * *+ CALL FINIS JSB FINIS + DEF *+01 + *+ CALL EXEC(D6,D0,D3) JSB EXEC + DEF *+04 + DEF D6 + DEF D0 + DEF D3 + SPC 2 D0 DEC 0 D3 DEC 3 D6 DEC 6 END DSTES