File: PG0F0.PA of Tape: Sources/RTS/s3
(Source file text) 

/PAGE ZERO CODE FOR OS8 AFFAIRS

IFNZRO	OSFLDS-2&4000	<EROFLD,	__ERR__>
OS8UFM=	OSFLDS-1^10	/MAX USER FIELD
OS8F0=	HGHFLD-OS8UFM
OS8F1=	OS8F0+10
IFNZRO	OS8F0-20&4000	<ER0FLD,	__ERR__>

OS8DCB=	7760	/ADDRESS OF OS/8 DCB TABLE IN FIELD 1
OS8HND=	7647	/ADDRESS OF OS/8 RESIDENT HANDLER TABLE IN FIELD 1
JSBITS=	7746	/ OS/8 JOB STATUS BITS IN FIELD 0
BATLOC=	7777	/BATCH MONITOR STATUS WORD

OSKBML=	7671	/LOCATION IN FIELD 1 WHICH READS THE KEYBOARD MONITOR
OSUSRL=	7723	/LOCATION IN FIELD 1 WHICH READS IN THE USR
OSCDLD=	271	/LOCATION IN USR IN FIELD 1 WHICH READS IN CD
NOOP=	2
SIMOP=	1	/FOR DEVICE TABLE

	HNDTAB=	5200
	FLAGS=	5220
	NFLAGS=	2
	CAFLGS=	FLAGS+NFLAGS
	TSFEF=	FLAGS+0
	XTLSUB=	5400
	HNDRET=	5630
	ILLIOT=	6000	/VOLATILIZABLE!!
	CHNGDF=	6010
	DBUF=	7200	/"""""""""

	/CAREFUL WITH REFERENCES INSIDE PARTITION FROM 6000-7177
	FIELD	0
	IFDEF	OS8F	<
	IFNZRO	TASK-OS8F	<NOPUNC>
/	*10
/CLKXR,0		/RESERVED FOR CLOCK
	*16
XR,	0
/	*17
/XR,	0		/RESERVED FOR MONITOR RTS
	ENPUNC
	>
	*100
	IFDEF	OS8	<
	IFNZRO	TASK-OS8	<NOPUNC>
AC,	0		/OS/8 AC
PC,	0		/OS/8 PC
LNKGT,	0
	CCDF=	JMS .
CTEMP,	0
	TAD	UCDF	/CDF TO MAPPED OS/8 DF
	SNA CLA		/CALL WITH AC=0 !!
	JMP I	.+3
UCDF,	0		/INIT TO 0!
	JMP I	CTEMP
	CHNGDF
	CCIF=	JMS .
UTEMP,	0
UCIF,	HLT		/CDF TO MAPPED OS/8 IF
	JMP I	UTEMP
UDF,	0		/VIRTUAL DATA FIELD 0000-0007
UIF,	0		/VIRTUAL INST FIELD 0000-0070
IBR,	0		/PENDING UIF
SFR,	0		/VIRTUAL SAVE FIELD
WT,	0		/MUST BE IN PAGE 0, ALONG WITH WD
OP,
EXEC,	0		/EXECUTE ONE INSTRUCTION
WD,	0
	SKP		/WATCH FOR SKIPS AND ISZ'S
	ISZ	PC
	ISZ	PC
K7000,	NOP		/JUST IN CASE
	JMP I	EXEC
K7,	7
USERSW,	0		/=0 IF EXECUTING IN OS8 TASK
IONSW,	0
INTSW,	0
OS8ERR=	JMS I	.;	ILLIOT
BOOTEF,	1
BOOTBK,	0		/BOOT BLOCK
OS8INT,	1	/INIT TO 1 !!;OS8 INTERRUPT FLAG-WAKES UP OS8I
IOMESS,	ZBLOCK 3
ARGS,	ZBLOCK 4
IOSTS,	0
	ENPUNC
	*.
	>
	IFDEF	OS8F	<
	IFNZRO	TASK-OS8F	<NOPUNC>
BLOCK,	0		/CURRENT BLOCK NUMBER
LENGTH,	0		/CURRENT LENGTH
PTNAME,	0		/POINTER TO FILE NAME
NFILES,	0		/NUMBER OF FILES IN THIS SEGMENT
ETMP,	0		/TEMPORARIES FOR "ENTER"
EPTR,	0
INTLOK,	0
IOMSG,	ZBLOCK 3
UNIT,	0
IOCTLW,	0
PDCNT,	DBUF
DBLOCK,	0
IOSTAT,	0
	ENPUNC
	*.
	>

	$-$-$