Google
 

Trailing-Edge - PDP-10 Archives - AP-4171F-BM - uetp/lib/shippr.mac
There is 1 other file named shippr.mac in the archive. Click here to see a list.
	TITLE	SHIPPR


;COPYRIGHT (C) 1977 BY
;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
;
;
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
;ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH LICENSE AND WITH THE
;INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY  OTHER
;COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
;OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF THE  SOFTWARE  IS  HEREBY
;TRANSFERRED.
;
;
;THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT  NOTICE
;AND  SHOULD  NOT  BE  CONSTRUED  AS A COMMITMENT BY DIGITAL EQUIPMENT
;CORPORATION.
;
;DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
;SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
	SEARCH	MONSYM,MACSYM
	.REQUIRE	SYS:MACREL
	SALL
	; ACCUMULATOR DEFINITIONS

	F=0
	T1=1
	T2=2
	T3=3
	T4=4
	Q1=5
	Q2=6
	Q3=7
	P1=10
	P2=11
	P3=12
	P4=13
	P5=14
	P6=15
	CX=16
	P=17
CNTOK=5			;NUMBER OF OUTSTANDING 'OK' CHECKS FOR INFERIOR
PDLEN=50		;PUSH DOWN STACK POINTER
SAVLEN=100			;STACK FOR SAVE AREAS
PGTSTR=30000		;START OF SHARED IPCF BUFFER TRAFFIC AREA
; THIS MACRO GENERATES THE CORE TABLE AND A COUNT OF THE SHARE PAGES
;  WHICH INCLUDES THE TABLE ITSELF.
;

	DEFINE GENTAB(FROM,TO)<
	PGCNT=<<TO-FROM>/1000>-3
	.LOCPT==FROM+4000	;WE DON'T WANT TO WIPE OUT SYMBOL TABLE (FOR DDT)
	TBLPNT=<-PGCNT,,FROM>
	TBLNUM=FROM/1000
	AREANM=TBLNUM+4
	TBLPNT
	LOC	FROM
	REPEAT	PGCNT,< EXP .LOCPT
			 .LOCPT=.LOCPT+1000>
	RELOC>

; THIS MACRO SAVES THE ACS 1-4 IN STACK FROM P6
;
	DEFINE	SAVE<
	PUSH	P6,T1
	PUSH	P6,T2
	PUSH	P6,T3
	PUSH	P6,T4>
;
; THIS MACRO RESTORES TOP FOUR ITEMS ON P6 STACK
;
	DEFINE	RESTOR<
	POP	P6,T4
	POP	P6,T3
	POP	P6,T2
	POP	P6,T1>
	PAGE
	SUBTTL   IPCF -INITIALIZATION
	; INITIALIZE THE P REGISTER FOR PUSHJ POPJ

START:	MOVEM	T1,BOSSPG	;SAVE ADDRESS OF COMMON PAGE W/BOSS
	MOVE	P,[-PDLEN,,PDL]			;PUSH DOWN STACK POINTER
	MOVE	P6,[-SAVLEN,,SAVBUF]			;PUSH DOWN STACK POINTER
;INITIALIZE PAGE TABLE POINTERS
;
	CALL	PGINIT			;GO INITIALIZE CORE TABLE AND POINTERS
;
; INITIALIZE JFN'S
;
	HRROI	T2,[ASCIZ/RUN.LOG/]	;GET A JFN FOR THE RUN LOG
	MOVE	T1,[GJ%FOU+GJ%NEW+GJ%SHT]	;SHORT,NEW FILE,NEW GEN NUMBER
	GTJFN				;GET THE JFN
	 JRST	[HRROI	T1,[ASCIZ/?ERROR IN GTJFN FOR RUN.LOG/]
		 CALL	ERABRT]		;GO WRITE IT OUT AND ABORT
	HRRZM	T1,RUNJFN		;SAVE THE JFN FOR RUN.LOG
	HRROI	T2,[ASCIZ/EXCEPTION.LOG/]	;GET A JFN FOR THE EXCEPTION LOG
	MOVE	T1,[GJ%FOU+GJ%NEW+GJ%SHT]	;SHORT,NEW FILE,NEW GEN NUMBER
	GTJFN				;GET THE JFN
	 JRST	[HRROI	T1,[ASCIZ/?ERROR IN GTJFN FOR EXCEPTION.LOG/]
		 CALL	ERABRT]		;GO WRITE IT OUT AND ABORT
	HRRZM	T1,EXCJFN		;SAVE THE JFN FOR EXCEPTION.LOG
	CALL	OPEN			;GO OPEN LOG FILES
	HRRZ	T1,RUNJFN		;GET THE JFN FOR RUN.LOG
	HLL	T1,[ FLD (.FBBYV,CF%DSP)]	;WE WANT TO INSURE GENERATION'S
	MOVX	T2,FB%RET		;   COUNT  IS KEPT AT
	MOVX	T3,<FLD (4,FB%RET)>	;			  4
	CHFDB				;GO CHANGE FDB FOR RETENTION COUNT
	 ERJMP	[HRROI	T1,[ASCIZ/?ERROR IN CHANGING FDB FOR RUN.LOG/]
		 CALL	ERABRT]		;TYPE MESSAGE AND ABORT
	HRRZ	T1,EXCJFN		;GET THE JFN FOR EXCEPTION.LOG
	HLL	T1,[FLD (.FBBYV,CF%DSP)]	;WE WANT TO INSURE GENERATION'S
	MOVX	T2,FB%RET		;   COUNT  IS KEPT AT
	MOVX	T3,<FLD (4,FB%RET)>	;			  4
	CHFDB				;GO CHANGE FDB FOR RETENTION COUNT
	 ERJMP	[HRROI	T1,[ASCIZ/?ERROR IN CHANGING FDB FOR EXCEPTION.LOG/]
		 CALL	ERABRT]		;TYPE MESSAGE AND ABORT
;ACTIVATE ALL THE CHANNELS
;
	MOVEI	T1,.FHSLF		;ACTIVATE OUR CHANNELS
	MOVE	T2,[LEVTAB,,CHNTAB]	;CHANNEL TABLES
	SIR				;TELL SYSTEM ABOUT THEM
	EIR				;ENABLE CHANNEL SYSTEM
	MOVE	T2,[1B19!1B23!1B25!1B26!1B28!1B29!1B31] ;WE NEED ALL THESE 
	AIC				;ACTIVATE THE CHANNELS
;
; NOW START UP IPCF FORK
;
	CALL	STRCVE			;CALL FORK STARTER
	WAIT				;WAIT FOR IPCF TRAFFIC
			SUBTTL ROUTINE TO WRITE IPCF TRAFFIC TO LOGS
;THIS ROUTINE GETS CALLED VIA AN INTERRUPT ON CHANNEL 28. IT IIC'S ITSELF
; ON CHANNEL 31 TO GIVE BOSS PAGES. 
;
WRPAGE:	SKIPE	PNCMOD			;SKIP IF WE ARE NOT IN PANIC MODE
	DEBRK