File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / d / dmp4 / t14858.s
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Jul 28 12:30:21 2019 UTC (7 years ago) by root
Branches: bsd, MAIN
CVS tags: v121, HEAD
Power 6/32 Unix version 1.21

# 1 "temp$.s"





	.set	SBR,0			
	.set	SLR,1			
	.set	P0BR,2			
	.set	P0LR,3			
	.set	P1BR,4			
	.set	P1LR,5			
	.set	P2BR,6			
	.set	P2LR,7			
	.set	IPL,8			
	.set	MME,9			
	.set	TBIA,10			
					
	.set	TBIS,11			
					
	.set	DCK,12			
	.set	CCK,13			
	.set	PCBB,14			
	.set	ISP,15			
	.set	SIRR,16			
	.set	SISR,17			
	.set	SCBB,18			
	.set	KSP,19			
	.set	USP,20			
	.set	DCB,21			
	.set	PACC,23			
					
	.set	P1DC,24			
	.set	PADC,25			
					
	.set	HISR,26			
	.set	DCR,27			
	.set	PDCS,28			
	

 #TAHOE program status longword


	.set  	PSL_C,0x00000001	
	.set  	PSL_V,0x00000002	
	.set  	PSL_Z,0x00000004	
	.set  	Z,0x00000004
	.set  	PSL_N,0x00000008	
	.set  	PSL_T,0x00000010	
	.set  	PSL_I,0x00000020	
	.set	PSL_EN_OVFL,0x20	
	.set	PSL_EN_UNDFL,0x40	
	.set  	PSL_DBL,0x80		
	.set  	PSL_IPL,0x001f0000	
	.set  	PSL_MOD,0x01000000	
	.set  	PSL_IS,0x04000000	
	.set  	PSL_TP,0x40000000	


 # TAHOE page table entry
 #/
	.set  	PG_V,0x8000000
	.set  	PG_PROT,0x78000000
	.set  	PG_M,0x04000000
	.set  	PG_USED,0x02000000
	.set  	PG_NC,0x01000000
	.set  	PG_PFNUM,0x003fffff

	.set  	PG_NOACC,0
	.set  	PG_KR,0x40000000
	.set  	PG_KW,0x60000000
	.set  	PG_URKR,0x50000000
	.set  	PG_URKW,0x70000000
	.set  	PG_UW,0x78000000

 #*	PCB offsets & diagnostic extension to pcb			*/
 #*	PCB is at pcb0							*/


	.set	PCB_SIZE,	 24	
	.set	PCB_KSP,	 0
	.set	PCB_USP,	 4
	.set	PCB_R0,	 	 8
	.set	PCB_R1,	 	 12
	.set	PCB_R2,	 	 16
	.set	PCB_R3,	 	 20
	.set	PCB_R4,	 	 24
	.set	PCB_R5,	 	 28
	.set	PCB_R6,	 	 32
	.set	PCB_R7,	 	 36
	.set	PCB_R8,	 	 40
	.set	PCB_R9,	 	 44
	.set	PCB_R10,	 48
	.set	PCB_R11,	 52
	.set	PCB_R12,	 56
	.set	PCB_R13,	 60
	.set	PCB_PC,	 	 64
	.set	PCB_PSL,	 68
	.set	PCB_P0BR,	 72
	.set	PCB_P0LR,	 76
	.set	PCB_P1BR,	 80
	.set	PCB_P1LR,	 84
	.set	PCB_P2BR,	 88
	.set	PCB_P2LR,	 92
	.set	PCB_ACCM,	 96
	.set	PCB_ACCL,	100
 #*
 #	Diagnostic pcb extension
 #/
	.set	PCB_STAT,	104	



 #*	fundamental constants						*/

 #*
 # fundamental constants of the implementation--
 # cannot be changed easily.
 #/

	.set  	NBPG,1024
	.set  	PGOFSET,(NBPG-1)	
	.set  	PGSHIFT,10		
	.set 	HIGH,0x1f


 #*	SCB offsets							*/
 #*	SCB is at scb							*/

	.set	PFVEC,1*4		
	.set	PRVEC,2*4		
	.set	CLOCKVEC,7*4		
	.set	CRVEC,0xa*4		
	.set	CXVEC,44		
	.set	SIVEC1,0x1e*4 		
					
						
	.set	BEVEC,0x20*4			
	.set	SYSVEC,0x2b*4		
	.set	PINSTVEC,0x2c*4		
	.set	PRIVSVEC,0x2c*4		
	.set	ROVEC,0x2d*4		
	.set	RAVEC,0x2e*4		
	.set	PROTVEC,0x2f*4		
	.set	TRANS,0x30		
	.set	TRANSVEC,0x30*4		
	.set	KSPVEC,0x31*4		
	.set	TRACEVEC,0x32*4		
	.set	BPTVEC,0x33*4		
	.set	ARITHVEC,0x34*4		
	.set	ALIGNVEC,0x35*4			
	.set	FPMVEC,0x37*4		
	.set	IO14VEC,256		
	.set	IO15VEC,320		
	.set	IO16VEC,384		
	.set	IO17VEC,448		

 #*	SPT (system page table) offsets					*/
 #*	SPT is at Sysmap						*/

	.set	SCBPTE,8		
	.set	BUFPTE,12		
	.set	ISPTE,16		
	.set	IS1PTE,20		
	.set	SPTPTE,20		
	.set	SPT1PTE,20		
	.set	IOMAPPTE,24		
	.set	PCBPTE,28		
	.set	U0P0PTE,32		
	.set	U0P1PTE,36		
	.set	U0P2PTE,40		
	.set	U1P0PTE,44
	.set	U1P1PTE,48
	.set	U1P2PTE,52
	.set	U2P0PTE,56
	.set	U2P1PTE,60
	.set	U2P2PTE,64
	.set	U3P0PTE,68
	.set	U3P1PTE,72
	.set	U3P2PTE,76
	.set	U4P0PTE,80
	.set	U4P1PTE,84
	.set	U4P2PTE,88
	.set	U5P0PTE,92
	.set	U5P1PTE,96
	.set	U5P2PTE,100
	.set	U6P0PTE,104
	.set	U6P1PTE,108
	.set	U6P2PTE,112
	.set	U7P0PTE,116		
	.set	U7P1PTE,120		
	.set	U7P2PTE,124		
	.set	IOB0PTE,128		
	.set	IOB1PTE,132
	.set	IOB2PTE,136
	.set	IOB3PTE,140
	.set	IOB4PTE,144
	.set	IOB5PTE,148
	.set	IOB6PTE,152
	.set	IOB7PTE,156		


 #*	trap.h	4.6	81/03/03	*/

 #*
 #* Trap type values
 #/

	.set  	RESADFLT,0		
	.set  	PRIVINFLT,1		
	.set  	RESOPFLT,2		
	.set  	BPTFLT,3		
	.set  	ALIGNFLT,4		
	.set  	SYSCALL,5		
	.set  	ARITHTRAP,6		
	.set  	PROTFLT,7		
	.set  	TRCTRAP,8		
	.set  	TRANSFLT,9		
	.set	DONE,255


 #  Event codes

	.set	RTCLOCK_CODE,7		
	.set	RESOP_CODE,0x2d		
	.set	RESAD_CODE,0x2e		
	.set	ARITH_CODE,0x34		
	.set	FPM_CODE,0x37		
	.set	INTEGER_OVERFLOW,1	


 #  Arithmetic Event types

	.set	INT_OVFL_CODE,1		
	.set	INT_0_DIV_CODE,2	
	.set	FLT_0_DIV_CODE,3	
	.set	FLT_OVFL_CODE,4		
	.set	FLT_UNDFL_CODE,5	


 #  Floating Point Instruction Op-Codes

	.set  LDF_OP_CODE,0x06		
	.set  LDD_OP_CODE,0x07		
	.set  LNF_OP_CODE,0x16		
	.set  LND_OP_CODE,0x17		
	.set  STF_OP_CODE,0x26		
	.set  STD_OP_CODE,0x27		
	.set  CMPF_OP_CODE,0x36		
	.set  CMPD_OP_CODE,0x37		
	.set  CMPF2_OP_CODE,0x46	
	.set  CMPD2_OP_CODE,0x47	
	.set  TSTF_OP_CODE,0x56		
	.set  TSTD_OP_CODE,0x57		
	.set  PUSHD_OP_CODE,0x67	
	.set  CVLF_OP_CODE,0x76		
	.set  CVLD_OP_CODE,0x77		
	.set  CVFL_OP_CODE,0x86		
	.set  CVDL_OP_CODE,0x87		
	.set  LDFD_OP_CODE,0x97		
	.set  CVDF_OP_CODE,0xa6		
	.set  NEGF_OP_CODE,0xb6		
	.set  NEGD_OP_CODE,0xb7		
	.set  ADDF_OP_CODE,0xc6		
	.set  ADDD_OP_CODE,0xc7		
	.set  SUBF_OP_CODE,0xd6		
	.set  SUBD_OP_CODE,0xd7		
	.set  MULF_OP_CODE,0xe6		
	.set  MULD_OP_CODE,0xe7		
	.set  DIVF_OP_CODE,0xf6		
	.set  DIVD_OP_CODE,0xf7		
	.set  SINF_OP_CODE,0x05		
	.set  COSF_OP_CODE,0x15		
	.set  ATANF_OP_CODE,0x25	
	.set  LOGF_OP_CODE,0x35		
	.set  SQRTF_OP_CODE,0x45	
	.set  EXPF_OP_CODE,0x55		
	.set  MULL2_OP_CODE,0x4c	
	.set  MULL3_OP_CODE,0x5c	



 #  Addressing test constants - These must agree with "fpp_defs.h"

	.set ADR_ABSOLUTE,1	
	.set ADR_LITERAL,2	
	.set ADR_IM_B,3		
	.set ADR_IM_W,4		
	.set ADR_IM_L,5		
	.set ADR_B_DSP,6	
	.set ADR_W_DSP,7	
	.set ADR_L_DSP,8	
	.set ADR_B_DSP_DEF,9	
	.set ADR_W_DSP_DEF,10	
	.set ADR_L_DSP_DEF,11	
	.set ADR_REG,12		
	.set ADR_REG_DEF,13	
	.set ADR_FP_DEF,14	
	.set ADR_SP_DEF,15	
	.set ADR_PUSH,16	
	.set ADR_POP,17		
	.set ADR_POP_DEF,18	
	.set ADR_REG_B,19	
	.set ADR_REG_W,20	
	.set ADR_REG_L,21	
	.set ADR_REG_B_DEF,22	
	.set ADR_REG_W_DEF,23	
	.set ADR_REG_L_DEF,24	
	.set ADR_I_FP_DEF,25	
	.set ADR_I_L,26		


 #*************************************************************************

 #	Stuff for the Demand Paging , Events, & Addressing Tests

 #************************************************************************/
	.set SGL,1			
	.set DBL,2			
	.set ENABLE_EVENTS,0x60		
	.set NONE,0			
	.set LOAD,1			
	.set STORE,2			

	.set NO_EVT_HLT,1		
	.set EVT_MSK_HLT,2		
	.set BAD_PSL_HLT,3		
	.set PUSH_CNT_HLT,4		
	.set PUSH_PSL_HLT,5		
	.set PUSH_PC_HLT,6		
	.set BAD_REG_HLT,7		
	.set BAD_ACC_HLT,8		


 # set DMP_PG_0 to the 1st empty page

	.set DMP_PG_0,0x36000
	.set DMP_PG_1,DMP_PG_0+0x400
	.set DMP_PG_2,DMP_PG_1+0x400
	.set DMP_PG_3,DMP_PG_2+0x400
	.set DMP_PG_4,DMP_PG_3+0x400
	.set DMP_PG_5,DMP_PG_4+0x400
	.set DMP_PG_6,DMP_PG_5+0x400
	.set DMP_PG_7,DMP_PG_6+0x400
	.set DMP_PG_8,DMP_PG_7+0x400
	.set DMP_PG_9,DMP_PG_8+0x400
	.set DMP_PG_10,DMP_PG_9+0x400
	.set DMP_PG_11,DMP_PG_10+0x400
	.set DMP_PG_12,DMP_PG_11+0x400
	.set DMP_PG_13,DMP_PG_12+0x400


 # test code space for the address / demand page tests

	.set START_OF_CODE,DMP_PG_1-20	
	.set CODE_BUF_SIZE,40		
	.set END_OF_CODE,START_OF_CODE+CODE_BUF_SIZE


 # data locations used by the event and demand page tests

	.set _dmp_byte_op_1,DMP_PG_1+0x30	
	.set _dmp_byte_op_2,DMP_PG_1+0x50	
	.set _dmp_byte_op_3,DMP_PG_1+0x70	
	.set _dmp_op_1,DMP_PG_3-4		
	.set _dmp_op_1_ptr,DMP_PG_4+0x30	
	.set _dmp_op_2_ptr,DMP_PG_5+0x30	
	.set _dmp_op_2,DMP_PG_7-4		
	.set _dmp_op_3,DMP_PG_8			
	.set _dmp_op_3_ptr,DMP_PG_9+0x30	
	.set _dmp_op_4,DMP_PG_10		
	.set _dmp_op_5,DMP_PG_11		
	.set _sp_minus,DMP_PG_13-4		
	.set _sp_page,DMP_PG_13			
	.set _sp_plus,DMP_PG_13+4		



 #	INIT.X for the Demand Pageing Tests				

 #	This file is a diagnostic version of locore.s.			
 #	It contains the following:					
 #	*system data area = scb, dump buffer, interrupt stack,		
 #	*system page table,user page tables,pcbs,iomap, & io buffers.	
 #									
 #	*system code = interrupt vectors, initialization of system data,
 #	*memory size calculation,initialization of SPT, zeroing of	
 #	*unused memory, & loading of SBR & SLR.				
 #	*								
 #	*at the end of this code, you are ready to go to virtual mode.	
 #	* --- GOOD LUCK!						

 ##########################################################################

 #   6-Mar-85 :  changed to user mode execution
 #  11-Mar-85 :  moved mode changeing from here to RUN_CODE
 #  17-Jul-85 :  added "mtpr" test for fpp/no-fpp wcs
 ##########################################################################




# 1 "./prvreg.h"







	.set	SBR,0			
	.set	SLR,1			
	.set	P0BR,2			
	.set	P0LR,3			
	.set	P1BR,4			
	.set	P1LR,5			
	.set	P2BR,6			
	.set	P2LR,7			
	.set	IPL,8			
	.set	MME,9			
	.set	TBIA,10			
					
	.set	TBIS,11			
					
	.set	DCK,12			
	.set	CCK,13			
				
				
	.set	PCBB,14			
	.set	ISP,15			
	.set	SIRR,16			
	.set	SISR,17			
	.set	SCBB,18			
	.set	KSP,19			
	.set	USP,20			
	.set	DCB,21
	.set	PACC,23			
					
	.set	P1DC,24			
	.set	PADC,25			
					
	.set	HISR,26			
	.set	DCR,27			
	.set	PDCS,28			
# 402 "temp$.s"
	


# 1 "./psl.h"

























# 405 "temp$.s"



# 1 "./pte.h"





























# 408 "temp$.s"
	


# 1 "./pcboffset.h"




 
	.set PCB_KSP,  0
	.set PCB_USP,  4
	.set PCB_R0,   8
	.set PCB_R1,   12
	.set PCB_R2,   16
	.set PCB_R3,   20
	.set PCB_R4,   24
	.set PCB_R5,   28
	.set PCB_R6,   32
	.set PCB_R7,   36
	.set PCB_R8,   40
	.set PCB_R9,   44
	.set PCB_R10,  48
	.set PCB_R11,  52
	.set PCB_R12,  56
	.set PCB_R13,  60
	.set PCB_PC,   64
	.set PCB_PSL,  68
	.set PCB_P0BR,  72
	.set PCB_P0LR,  76
	.set PCB_P1BR,  80
	.set PCB_P1LR,  84
	.set PCB_P2BR,  88
	.set PCB_P2LR,  92



	.set	PCB_STAT,	96	


# 411 "temp$.s"



# 1 "./const.h"


















































# 414 "temp$.s"



# 1 "./scboffset.h"




	.set	PFVEC,4			
	.set	CLOCKVEC,28		
	.set	CRVEC,40		
	.set	CXVEC,44		
	.set	SIVEC1,120		
					
						
	.set	BEVEC,128			
	.set	SYSVEC,172		
	.set	PINSTVEC,176		
	.set	ROVEC,180		
	.set	RAVEC,184		
	.set	PROTVEC,188		

	.set	TRANS,0x30		
	.set	TRANSVEC,192		

	.set	KSPVEC,196		
	.set	TRACEVEC,200		
	.set	BPTVEC,204		
	.set	ARITHVEC,208		
	.set	ALIGNVEC,212		
	.set	FPMVEC,220		
	.set	IO14VEC,256		
	.set	IO15VEC,320		
	.set	IO16VEC,384		
	.set	IO17VEC,448		

# 417 "temp$.s"


# 1 "./sptoffset.h"








	.set	SCBPTE,8		
	.set	BUFPTE,12		
	.set	ISPTE,16		
	.set	IS1PTE,20		
	.set	SPTPTE,20		
	.set	SPT1PTE,20		
	.set	IOMAPPTE,24		
	.set	PCBPTE,28		
	.set	U0P0PTE,32		
	.set	U0P1PTE,36		
	.set	U0P2PTE,40		
	.set	U1P0PTE,44
	.set	U1P1PTE,48
	.set	U1P2PTE,52
	.set	U2P0PTE,56
	.set	U2P1PTE,60
	.set	U2P2PTE,64
	.set	U3P0PTE,68
	.set	U3P1PTE,72
	.set	U3P2PTE,76
	.set	U4P0PTE,80
	.set	U4P1PTE,84
	.set	U4P2PTE,88
	.set	U5P0PTE,92
	.set	U5P1PTE,96
	.set	U5P2PTE,100
	.set	U6P0PTE,104
	.set	U6P1PTE,108
	.set	U6P2PTE,112
	.set	U7P0PTE,116		
	.set	U7P1PTE,120		
	.set	U7P2PTE,124		
	.set	IOB0PTE,128		
	.set	IOB1PTE,132
	.set	IOB2PTE,136
	.set	IOB3PTE,140
	.set	IOB4PTE,144
	.set	IOB5PTE,148
	.set	IOB6PTE,152
	.set	IOB7PTE,156		


# 419 "temp$.s"



# 1 "./trap.h"
















# 422 "temp$.s"





	.set	HIGH,0x1f	
	.set	MCKVEC,4	
	.set	NISP,2		
	.set	DONE,255	
	.set	TTRAP,0x32
	.set	PRIVS,0x2c

	.text

		

# 1 "./pstorage.s"
 #


















_pstore:
	.globl	_pstore
	.space		1024			

_pstore1:				
	.globl	_pstore1		

_pcbb:	.space	4			
	.globl	_isp
_isp:	.space	4			
_sirr:	.space	4			
	.globl	_sisr
_sisr:	.space	4			
	
	.space	4			
	.space	4
	.space	4

_cpmdcb: .space	4			
_cpfdcb: .space	4
_cpcdcb: .space	4
_cpidcb: .space	4
_cpstat: .space	4
_cpctl:  .space	4

	.globl	_hisr
_hisr:	.space	4			
_dcr:	.space	4			

	.space	4*48			

_pstemp:
	.globl	_pstemp			
					
_tr0:	.space	16			
					
_tpc:	.space	4			
_tpsl:	.space	4			
_tsp:	.space	4			
_tksp:	.space	4			
_tusp:	.space	4			
_tcck:	.space	4			
_tdck:	.space	4			
_ttbk:	.space	4			
_tsbr:	.space	4			
_tslr:	.space	4			
_tp0br:	.space	4			
_tp0lr:	.space	4			
_tp1br:	.space	4			
_tp1lr:	.space	4			
_tp2br:	.space	4			
_tp2lr:	.space	4			
_tipl:	.space	4			
_tmme:	.space	4			
_ttbia:	.space	4			
_ttbis:	.space	4			
					
					
_tpcbb:	.space	4			
_tisp:	.space	4			
_tsirr:	.space	4			
_tsisr:	.space	4			
_tscbb:	.space	4			
_tp1cc:	.space	4			
					
_tpacc:	.space	4			
					
_tp1dc:	.space	4			
_tpadc:	.space	4			
_tcpmdcb:
	.space	4			
_tcpfdcb:
	.space	4
_tcpcdcb:
	.space	4
_tcpidcb:
	.space	4
_tcpstat:
	.space	4
_tcpctl:
	.space	4

_probflag:
	.space	4			
_inexcflg:
	.space	4			

	.space	4*10			
_psend:	.globl	_psend			
	.set    MM,(_psend - _pstore1)
	.space  1024 - MM


 #





	.set	PCBB,0x400		#process control block base

	.globl	INTSP
	.set	INTSP,0x404		#Interrupt stack pointer
	.set	SIRR,0x408		#Software interrupt request

	.globl	SSR
	.set	SSR,0x40C		#Software interrupt summary

	.globl	HSR
	.set	HSR,0x410		#Hardware interrupt summary

	.set	SBB,0x414		#Pointer to system control block base
	.set	TBCR,0x418		#Current value of hardware TBCR
	.set	CPMDCB,0x420		#pointer to CP master DCB
	.set	CPCTL,0x424		#CPU control word
	.set	CPREQ,0x428		#CPU request
	.set	CPRUN,0x42C		#CPU run status (8 = step mode)
	.set	CPRSW,0x430		#CP interrupt request word
	.set	PSL,0x434		#Software Process Status Longword
	.set	TVAPR,0x5E8		#saved vapr register
	.set	TRA,0x5EC		#
	.set	TLSP,0x5F0		#
	.set	TIAR,0x5F4		#
	.set	TLIA,0x5F8		#
	.set	TQ,0x5FC		#
	.set	TR0,0x600		#decellerated processor registers
	.set	TR1,0x604		#decellerated processor registers
	.set	TR2,0x608		#decellerated processor registers
	.set	TR3,0x60C		#decellerated processor registers
	.set	TR4,0x610		#decellerated processor registers
	.set	TR5,0x614		#decellerated processor registers
	.set	TR6,0x618		#decellerated processor registers
	.set	TR7,0x61C		#decellerated processor registers
	.set	TR8,0x620		#decellerated processor registers
	.set	TR9,0x624		#decellerated processor registers
	.set	TR10,0x628		#decellerated processor registers
	.set	TR11,0x62C		#decellerated processor registers
	.set	TR12,0x630		#decellerated processor registers
	.set	TR13,0x634		#decellerated processor registers
	.set	TR14,0x638		#decellerated processor registers
	.set	TR15,0x63C		#decellerated processor registers
	.set	TPC,0x640		#decellerated program counter
	.set	TPSL,0x644		#decellerated process status longword
	.set	TSP,0x648		#decellerated stack pointer
	.set	TKSP,0x64C		#decellerated kernel stack pointer
	.set	TUSP,0x650		#decellerated user stack pointer
	.globl	TCCK
	.set	TCCK,0x654		#decellerated Code cache key
	.globl	TDCK
	.set	TDCK,0x658		#decellerated data cache key
	.set	TTBK,0x65C		#decellerated translation buffer key
	.set	TSBR,0x660		#decellerated System Base Register
	.set	TSLR,0x664		#decellerated System length register
	.set	TP0BR,0x668		#decellerated P0 base register
	.set	TP0LR,0x66C		#decellerated P0 length register
	.set	TP1BR,0x670		#decellerated P1 base register
	.set	TP1LR,0x674		#decellerated P1 length register
	.set	TP2BR,0x678		#decellerated P2 base register
	.set	TP2LR,0x67C		#decellerated P1 length register
	.set	TIPL,0x680		#decellerated Interrupt priority level
	.set	TMME,0x684		#decellerated Memory management enable
	.set	TTBIA,0x68C		#decellerated translation buffer invalid
	.set	TTBIS,0x68C		#decellerated transl buffer invalid single
	.set	TPCBB,0x690		#decellerated Process control block base
	.set	TISP,0x694		#decellerated Interrupt stack pointer
	.set	TSIRR,0x698		#decellerated Software interrupt request
	.set	TSISR,0x69C		#decellerated Software interrupt summary
	.set	TSCBB,0x6A0		#decellerated System control block base
	.set	TP1CC,0x6A4		#decellerated 
	.set	TPACC,0x6A8		#decellerated
	.set	TP1DC,0x6AC		#decellerated
	.set	TPADC,0x6B0		#decellerated
	.set	TCPMDCB,0x6B4		#decellerated address of master DCB
	.set	PROBFLG,0x6B8		#decellerated
	.set	INEXCFLG,0x6BC		#decellerated
	.set	PCTYPFLG,0x6C0		#
	.set	NOOFPARS,0x6C4		#
	.set	STKPAR1,0x6C8		#
	.set	STKPAR2,0x6CC		#
	.set	JMPVEC,0x6D0		#
	.set	PSEND,0x7FC		#
# 438 "temp$.s"

	.globl	_Entry
_Entry:
	jmp	start
	.space	(1024-6)




				


	.set	NLWU,35		
				
				
				
	.globl	_Codek
_Codek:	.long	0		

	.globl	_restart
_restart:
	.space	4		
				
				
					
	.globl	_maxmem
_maxmem:
	.space	4		

	.globl	_maxpages
_maxpages:
	.space	4		

	.globl	_lastadd
_lastadd:
	.space	4		

	.globl	_unused
_unused:
	.space	4		

	.globl	_ctlblk
_ctlblk:
	.long	0		

	.globl	_savvec0	
_savvec0:
	.space	4

	.globl	_savvec1	
_savvec1:
	.space	4

	.globl	_savvec2	
_savvec2:
	.space	4

	.globl	_savvec3	
_savvec3:
	.space	4

	.globl	_savvec4	
_savvec4:
	.space	4

	.globl	_savvec5	
_savvec5:
	.space	4
	.globl	_savvec6	
_savvec6:
	.space	4
	.globl	_savvec7	
_savvec7:
	.space	4

	.globl	_savvec8	
_savvec8:
	.space	4

	.globl	_r_no
_r_no:
	.long	0
	.globl	_pt_base
_pt_base:
	.long	0
	.globl	_saved_psl
_saved_psl:
	.long   0
	.globl	_saved_sp
_saved_sp:
	.long	0
	.globl	_saved_fp
_saved_fp:
	.long	0
	.globl	_ret_adr
_ret_adr:
	.long	0
	.globl	_exp_par0
_exp_par0:
	.long	0
	.globl	_exp_par1
_exp_par1:
	.long	0
	.globl	_f_vaddr
_f_vaddr:
	.long	0			

	.globl	_f_ptr
_f_ptr:
	.long   0			
	.globl	_df_cnt
_df_cnt:
	.long	0			

	.globl	_if_cnt
_if_cnt:
	.long	0			

	.globl	_newepc
_newepc:
	.long	0

	.globl	_errcnt
_errcnt:
	.long	0

	.globl	_clk_cnt
_clk_cnt:
	.long	0

	.globl	_ttcnt
_ttcnt:
	.long	0			
	.globl	_trcnt
_trcnt:
	.long	0			

	.globl	_Ufpte
_Ufpte: .long	0
	.globl	_Ulpte
_Ulpte: .long	0

	.globl	_dbuf		
_dbuf:
	.space		1024 - (NLWU *4)
edbuf:


	.globl	_intstack	
_intstack:			
	.space	NISP*	1024
eintstack:


	.set	SYSPTSIZE,512	
 


 
	.align	2
	.globl	_Sysmap
_Sysmap:
	.space	SYSPTSIZE*4 	
eSysmap:
	.globl	_Syssize
	.set	_Syssize,(eSysmap-_Sysmap)/4	
	
	.globl	_iomap		
_iomap:	.space	1024		
	.globl	_eiomap
_eiomap:

	.globl	_pcb0		
_pcb0:	.space	128		
	.globl	_pcb1
_pcb1:	.space 128		
	.globl	_pcb2
_pcb2:	.space 128		
	.globl	_pcb3
_pcb3:	.space 128		
	.globl	_pcb4
_pcb4:	.space 128		
	.globl	_pcb5
_pcb5:	.space 128		
	.globl	_pcb6
_pcb6:	.space 128		
	.globl	_pcb7
_pcb7:	.space 128		





	.align	2
	.globl	_u0p0pt
_u0p0pt:
	.space	1024		
	.globl	_u0p1pt
_u0p1pt:	
	.space	1024		
	.globl	_u0p2pt
_u0p2pt:	
	.space	1020		
eu0p2pt:
	.space	4





	.align	2
	.globl	_u1p0pt
_u1p0pt:
	.space	1024		
	.globl	_u1p1pt
_u1p1pt:	
	.space	1024		
	.globl	_u1p2pt
_u1p2pt:	
	.space	1020		
eu1p2pt:
	.space	4






	.align	2
	.globl	_u2p0pt
_u2p0pt:
	.space	1024		
	.globl	_u2p1pt
_u2p1pt:	
	.space	1024		
	.globl	_u2p2pt
_u2p2pt:	
	.space	1020		
eu2p2pt:
	.space	4






	.align	2
	.globl	_u3p0pt
_u3p0pt:
	.space	1024		
	.globl	_u3p1pt
_u3p1pt:	
	.space	1024		
	.globl	_u3p2pt
_u3p2pt:	
	.space	1020		
eu3p2pt:
	.space	4





	.globl	_u4p0pt
_u4p0pt:
	.space	(9*	1024) - 4
eu6p2pt:
	.space	4






	.align	2
	.globl	_Kstack		
_Kstack:			
	.space	3*	1024
	.globl	ekstack	
ekstack:


	.globl	_iob0		
_iob0:	.space	1024
	.globl	_iob1		
_iob1:	.space	1024
	.globl	_iob2		
_iob2:	.space	1024
	.globl	_iob3		
_iob3:	.space	1024
	.globl	_iob4		
_iob4:	.space	1024
	.globl	_iob5		
_iob5:	.space	1024
	.globl	_iob6		
_iob6:	.space	1024
esysdata:



# 1 "./scblock.s"

 #


	.align	2
	.globl	_scb
_scb:







	.long	_Xunknown;			.long	_Xpowerfail;	
	.long	_Xunknown;		.long	_Xunknown;
	.long	_Xunknown;		.long	_Xunknown;
	.long	_Xunknown;			.long	_Xhardclock;
	.long	_Xunknown;		.long	_Xunknown;		
		.long	_Xcnrint;		.long	_Xcnxint;
	.long	_Xunknown;		.long	_Xunknown;		
	.long	_Xunknown;		.long	_Xunknown;
		.long	_Xs15;		.long	_Xs14;	
		.long	_Xs13;		.long	_Xs12;
		.long	_Xs11;		.long	_Xs10;	
		.long	_Xs9;		.long	_Xs8;
		.long	_Xs7;		.long	_Xs6;	
		.long	_Xs5;		.long	_Xs4;
		.long	_Xs3;		.long	_Xs2;	
		.long	_Xs1;	.long	_Xunknown;
		.long	_Xbuserror;	.long	_Xunknown;		
	.long	_Xunknown;		.long	_Xunknown;
	.long	_Xunknown;		.long	_Xunknown;		
	.long	_Xunknown;		.long	_Xunknown;
	.long	_Xunknown;		.long	_Xunknown;		
	.long	_Xunknown;			.long	_Xkcall;
		.long	_Xprvinflt;		.long	_Xresopflt;	
		.long	_Xresadflt;		.long	_Xprotflt;
		.long	_Xtransflt;		.long	_Xkspnotval;	
		.long	_Xtracep;		.long	_Xbptflt;
		.long	_Xarithtrap;		.long	_Xalignflt;	
	.long	_Xunknown;			.long	_Xfpp_emulate;
	.long	_Xunknown;		.long	_Xunknown;		
	.long	_Xunknown;		.long	_Xunknown;
	.long	_Xunknown;		.long	_Xunknown;		
	.long	_Xunknown;		.long	_Xunknown;
		.long	_Xiovec14;	.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;	
		.long	_Xiovec15; 	.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;	
		.long	_Xiovec16; 	.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;	
		.long	_Xiovec17; 	.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;.long	_Xunknown;	

	.space	512		


# 738 "temp$.s"




# 1 "./evthandlers.s"


 



































	.align 2  		     	.globl _Xunknown 			_Xunknown:
	pushl 	$0
	callf	$8,_XTrap
	halt












	.align 2  		     	.globl _Xpowerfail 			_Xpowerfail:
	pushl 	$1
	callf	$8,_XTrap
	halt






	.align 2  		     	.globl _Xhardclock 			_Xhardclock:
	incl	_clock_event	
	rei





	.align 2  		     	.globl _Xcnrint 			_Xcnrint:
	pushl 	$0xa
	callf	$8,_XTrap
	halt




	.align 2  		     	.globl _Xcnxint 			_Xcnxint:
	rei		




	.align 2  		     	.globl _Xs15 			_Xs15:
	pushl 	$0x10
	callf	$8,_XTrap
	halt




	.align 2  		     	.globl _Xs14 			_Xs14:
	pushl 	$0x11
	callf	$8,_XTrap
	halt




	.align 2  		     	.globl _Xs13 			_Xs13:
	pushl 	$0x12
	callf	$8,_XTrap
	halt




	.align 2  		     	.globl _Xs12 			_Xs12:
	pushl 	$0x13
	callf	$8,_XTrap
	halt




	.align 2  		     	.globl _Xs11 			_Xs11:
	pushl 	$0x14
	callf	$8,_XTrap
	halt




	.align 2  		     	.globl _Xs10 			_Xs10:
	pushl 	$0x15
	callf	$8,_XTrap
	halt




	.align 2  		     	.globl _Xs9 			_Xs9:
	pushl 	$0x16
	callf	$8,_XTrap
	halt




	.align 2  		     	.globl _Xs8 			_Xs8:
	pushl 	$0x17
	callf	$8,_XTrap
	halt




	.align 2  		     	.globl _Xs7 			_Xs7:
	pushl 	$0x18
	callf	$8,_XTrap
	halt




	.align 2  		     	.globl _Xs6 			_Xs6:
	pushl 	$0x19
	callf	$8,_XTrap
	halt




	.align 2  		     	.globl _Xs5 			_Xs5:
	pushl 	$0x1a
	callf	$8,_XTrap
	halt




	.align 2  		     	.globl _Xs4 			_Xs4:
	pushl 	$0x1b
	callf	$8,_XTrap
	halt




	.align 2  		     	.globl _Xs3 			_Xs3:
	pushl 	$0x1c
	callf	$8,_XTrap
	halt




	.align 2  		     	.globl _Xs2 			_Xs2:
	pushl 	$0x1d
	callf	$8,_XTrap
	halt




	.align 2  		     	.globl _Xs1 			_Xs1:
	pushl 	$0x1e
	callf	$8,_XTrap
	halt





	.align 2  		     	.globl _Xiovec14 			_Xiovec14:
	halt
	.align 2  		     	.globl _Xiovec15 			_Xiovec15:
	halt
	.align 2  		     	.globl _Xiovec16 			_Xiovec16:
	halt
	.align 2  		     	.globl _Xiovec17 			_Xiovec17:
	halt


















	.align 2  		     	.globl _Xbuserror 			_Xbuserror:
	pushl 	$0x20
	callf	$8,_XTrap
	halt











	.align 2  		     	.globl _Xkspnotval 			_Xkspnotval:
	pushl 	$0x31
	callf	$8,_XTrap
	halt


 


	.align 2  		     	.globl _Xprvinflt 			_Xprvinflt:
	movpsl	_psl_val		
	mtpr	$0x1f,$IPL		
	bitl $PSL_DBL,_psl_val  	
	beql 1f 
	std	_post_evt_acc		
	brb	2f
1:	stf	_post_evt_acc		
2:	storer 	$0x1fff,_store_regs  	
	moval	(r13),_post_event_fp	
	moval	(r14),_post_event_sp	
	pushl 	$0x2c
	callf	$8,_XTrap
	halt






	.align 2  		     	.globl _Xresopflt 			_Xresopflt:
 	mtpr $0x1f,$IPL   
 	movpsl _psl_val  		
	bitl $PSL_DBL,_psl_val  	
	beql 1f 
	std _post_evt_acc  		
	brw  2f
1:	stf _post_evt_acc  		
	clrl _post_evt_acc+4 
2:
	storer $0x1fff,_store_regs  	
	moval (r13),_post_event_fp	
	moval (r14),_post_event_sp	
	pushl 	$0x2d
	callf	$8,_XTrap
	halt


	.align 2  		     	.globl _Xresadflt 			_Xresadflt:
	movpsl	_psl_val		
	mtpr	$0x1f,$IPL		
	bitl $PSL_DBL,_psl_val  	
	beql 1f 
	std	_post_evt_acc		
	brb	2f
1:	stf	_post_evt_acc		
2:	storer 	$0x1fff,_store_regs  	
	moval	(r13),_post_event_fp	
	moval	(r14),_post_event_sp	
	pushl 	$0x2e
	callf	$8,_XTrap
	halt

	.align 2  		     	.globl _Xbptflt 			_Xbptflt:
	pushl 	$0x33
	callf	$8,_XTrap
	halt

	.align 2  		     	.globl _Xtracep 			_Xtracep:
	movpsl	_psl_val		
	mtpr	$0x1f,$IPL		
	bitl $PSL_DBL,_psl_val  	
	beql 1f 
	std	_post_evt_acc		
	brb	2f
1:	stf	_post_evt_acc		
2:	storer 	$0x1fff,_store_regs  	
	pushl 	$0x32
	callf	$8,_XTrap
	halt






	.align 2  		     	.globl _Xarithtrap 			_Xarithtrap:
 	mtpr $0x1f,$IPL   
 	movpsl _psl_val  		
	bitl $PSL_DBL,_psl_val  	
	beql 1f 
	std _post_evt_acc  		
	brw  2f
1:
	stf _post_evt_acc  		
	clrl _post_evt_acc+4 
2:
	storer 	$0x1fff,_store_regs  	
	moval	(r13),_post_event_fp	
	moval	(r14),_post_event_sp	
	pushl 	$0x34
	callf	$8,_XTrap
	halt


	.align 2  		     	.globl _Xprotflt 			_Xprotflt:			
	movpsl	_psl_val		
	moval	(r14),_post_event_sp	
	pushl 	$0x2f
	callf	$8,_XTrap
	halt
	.align 2  		     	.globl _Xtransflt 			_Xtransflt:
	pushl 	$0x30
	callf	$8,_XTrap
	halt
	.align 2  		     	.globl _Xalignflt 			_Xalignflt:
	movpsl	_psl_val		
	mtpr	$0x1f,$IPL		
	bitl $PSL_DBL,_psl_val  	
	beql 1f 
	std	_post_evt_acc		
	brb	2f
1:	stf	_post_evt_acc		
2:	storer 	$0x1fff,_store_regs  	
	pushl 	$0x35
	callf	$8,_XTrap
	halt
	.align 2  		     	.globl _Xfpp_emulate 			_Xfpp_emulate:			
	movpsl	_psl_val		
	movl	_psl_val,_post_event_psl   
	storer 	$0x1fff,_store_regs  	
	moval	(r13),_post_event_fp	
	moval	(r14),_post_event_sp	
	movl	(sp),_fpm_ms_op		
	movl	4(sp),_fpm_ls_op	
	movl	8(sp),_fpm_op_code	
	movl	12(sp),_fpm_pc		
	movl	16(sp),_fpm_psl		
	bitl $PSL_DBL,_psl_val  	
	beql 1f 
	std	_post_evt_acc		
	brb	2f
1:	stf	_post_evt_acc		
	clrl	_post_evt_acc+4
2:
	pushl	$0x37
	callf	$8,_XTrap
	halt

alltraps:
	halt

	.align 2  		     	.globl _Xkcall 			_Xkcall:			
	pushl 	$0x2b
	callf	$8,_XTrap
	halt


# 742 "temp$.s"





 #	*INITIALIZATION CODE
 #	*
 #	* MME off; mode = k; IPL = 31; IS = 1
 #	*

	
	.globl	start
start:
	mtpr	$0,$MME		
	movl	r0,_run_list
	movl	r1,_OPTIONS
	clrl	_nonstop	
	movl	r2,_count	
	bneq	1f		
	movl	$1,_count	
1:	bgeq	1f		
	movl	$1,_nonstop	
1:
	mtpr	$0x400,$DCR	
	tstl	r1		
	bneq	1f
	movl	$1,_no_fpp_wcs	
1:
	movab	_scb,r0
	andl2	$0x3ffffc00,r0
	mtpr	r0,$SCBB	
	mtpr	$0x1f,$IPL	

	andl3	$4,r11,_ss1	


 # clear the option flags

	clrl	_halt_flg	
	clrl	_loop_on_err	
	movl	$1,_prt_error	
	movl	$1,_prt_hdrs	
	movl	$1,_en_data_cache  
	movl	$1,_user_mode	
	clrl	_exp_event	
	clrl	_event_return	
	clrl	_unexp_event_ret 


 # set the option flags as needed

	bitl	$1,_OPTIONS	
	beql	1f
	movl	$1,_halt_flg	
1:
	bitl	$2,_OPTIONS	
	beql	1f
	movl	$1,_loop_on_err	
1:
	bitl	$4,_OPTIONS	
	beql	1f
	clrl	_prt_error	
1:
	bitl	$8,_OPTIONS	
	beql	1f
	clrl	_prt_hdrs	
1:
	bitl	$16,_OPTIONS	
	beql	1f
	clrl	_en_data_cache	
1:
	bitl	$32,_OPTIONS	
	beql	1f
	clrl	_user_mode	
1:
	movpsl	r1
	andl2	$0xffffff00,r1		
	cmpl	r1,$0x041f0000		
	beql	1f
2:	movl	$1,r0
	movl	$0x041f0000,r2
	halt			
1:
	movl	$_intstack+NISP*	1024,r0
	andl2	$0x3fffffff,r0		
	mtpr	r0,$ISP			
	movl	r0,sp			
	movab	(sp),fp			

 #	Clear system data area all the way upto system code
 #	this includes dump buffer,interrupt stack,spt,iomap,pcbs,user 
 #	page tables, & io buffer area.

3:	
	movab	esysdata,r7
	movab	_restart,r6
1:	clrl	(r6)
	   addl2 $4,r6;  cmpl r6,r7;  bleq 1b;

 #	Initialize System Page Table

5:
	clrl	r2
	movab	esysdata,r1	
	andl2	$0x3fffffff,r1	
	shar	$	10		,r1,r1	
				
1:
	orl3	$	0x80000000|	0x60000000,r2,_Sysmap[r2]
	aoblss	r1,r2,1b


 # 	Map system text area 1 to 1, Kernel read/write.
 #	For this to work, the label _etext must exist at the end 
 #	of system code; Add in 4 more pages for data area used in C

	movab	_Esys,r1	
	andl2	$0x3fffffff,r1
	shar	$	10		,r1,r1
1:
	orl3	$	0x80000000|	0x60000000,r2,_Sysmap[r2]
	aobleq	r1,r2,1b

 #	Map from here to last page used by user :
 #	invalid, User access, & virtual = physical

	movl	r2,_unused	
	movl	r2,_Ufpte		
	movl	$0x80000,r1		
	shar	$	10		,r1,r1
	movl	r1,_Ulpte		

1:
	orl3	$	0x80000000|	0x78000000,r2,_Sysmap[r2]	
	aoblss	r1,r2,1b


 #	Initialize SBR, SLR

sysrdy:
	mtpr	$_Sysmap,$SBR      		
	mtpr	$_Syssize,$SLR
	mtpr	$64,$DCR			

 # 		GO TO VIRTUAL MODE
 #	Double map the kernel into user addresses : 
 #	This will enable system to go to virtual mode the 1st time !!


	orl3	$0xc0000000,$_Sysmap,r0	
	mtpr	r0,$P0BR		
	mtpr	$_Syssize,$P0LR
	mtpr	$1,$PADC		
	mtpr	$1,$TBIA		
	
	mfpr	$SCBB,r0
	movab	_Trans,TRANSVEC(r0)	
	movab	_Prvis,PRIVSVEC(r0)	
	moval	_FPM_handler,FPMVEC(r0)	
	mtpr	$_pcb0,$0xe		
	
	movab	_pcb0,r0
	movab	ekstack,PCB_KSP(r0)	
	movab	eustack,PCB_USP(r0)	
	mfpr	$P0BR,PCB_P0BR(r0)	
	mfpr	$P0LR,PCB_P0LR(r0)	
	movl	$0x001f000,PCB_PSL(r0)	
	ldpctx				

	mtpr	$1,$PACC		
	movl	$1,_Codek
	mtpr	_Codek,$CCK		

	callf	$4,_monitor		



# 1 "./fault_handlers.s"







































	.align	2
	.globl	_Trans
_Trans:
	mtpr	$0x1f,$IPL		
	movl	r0,_trans_r0		
	movl	(sp)+,r0		
	movl	(sp)+,_f_vaddr		
	incl	_no_page_faults		
	tstl	_pipe_test		
	bneq	1f			
	cmpl	(sp),_code_addr		
	beql	1f			
	movl	r0,_pop_val_1		
	movl	_f_vaddr,_pop_val_2	
	movl	(sp),_pop_val_3		
	movl	(sp)+,_pop_val_3	
	callf	$4,_bad_trans_stack	
1:	nop
	shar	$	10		,_f_vaddr,r0	
	orl2	$0x80000000,_Sysmap[r0] 
	mtpr	_f_vaddr,$TBIS



	movl	_no_page_faults,r0
	cmpl	$1,r0
	bneq	1f
	brb	2f			
1:	cmpl	$2,r0
	bneq	1f
	nop
	nop
	brb	2f			
1:	cmpl	$3,r0
	bneq	1f
	nop
	nop
	brb	2f			
1:	cmpl	$4,r0
	bneq	1f
	nop
	nop
	brb	2f			
1:	cmpl	$5,r0
	bneq	1f
	nop
	nop
	brb	2f			
1:	cmpl	$6,r0
	bneq	1f
	nop
	nop
	brb	2f			
1:	cmpl	$7,r0
	bneq	1f
	nop
	nop
	brb	2f			
1:	cmpl	$8,r0
	bneq	1f
	nop
	nop
	brb	2f			
1:	cmpl	$9,r0
	bneq	1f
	nop
	nop
	brb	2f			
	nop				
	nop
2:



	tstl	_pipe_test		
	bneq	1f			
	tstl	_load_type_inst		
	bneq	1f			
	tstl	_force_loop		
	bneq	1f			
	tstl	_trans_acc_error	
	bneq	1f			
	callf	$4,_chk_trans_acc	
1:



	tstl	_i_cache_hit		
	bneq	2f			
	incl	_Codek			
	cmpl	_Codek,$255		
	jlss	1f
	movl	$1,_Codek		
	mtpr	$1,$PACC		
1:
	mtpr	_Codek,$CCK		
2:
	nop
	movl	_trans_r0,r0		
	rei				
 
	.align 	2
_trans_r0:				
	.long	0















	.align	2
	.globl	_Prvis
_Prvis:
	mtpr	$0x1f,$IPL		
	movl	(sp)+,_act_pc		
	movl	(sp)+,_f_ptr		
	cmpl	_act_pc,$_run_code_mtpr	
	bneq	1f
	pushl	_run_code_psl		
	pushl	$_run_code_mtpr		
	rei				
1:
	pushl	_f_ptr			
	pushl	_act_pc			
	pushl	$0x2c			
	callf	$8,_XTrap		



























	.align	2
	.globl	_FPM_handler
_FPM_handler:
	movpsl	_psl_val		
	mtpr	$0x1f,$IPL		
	movl	_psl_val,_post_event_psl   
	storer 	$0x1fff,_store_regs  	
	moval	(r13),_post_event_fp	
	moval	(r14),_post_event_sp	
	movl	$1,_fpm_trap_occurred	
	tstl	_emulated_inst		
	bneq	1f			
	pushl	$FPM_CODE		
	callf	$8,_XTrap
	halt
1:					
	cmpl	_acc_st_size,$DBL	
	beql	1f
	stf	_dbl_st_acc		
	brb	2f
1:	std	_dbl_st_acc		
2:
	movl	(sp)+,_fpm_ms_op	
	movl	(sp)+,_fpm_ls_op	
	movl	(sp)+,_fpm_op_code	
	movl	(sp)+,_fpm_pc		
	movl	(sp)+,_fpm_psl		
	bitl	$PSL_DBL,_psl_val  	
	beql	1f 
	std	_post_evt_acc		
	brb	2f
1:	stf	_post_evt_acc		
	clrl	_post_evt_acc+4
2:
	pushl	_run_code_psl		
	pushl	_event_return		
	rei				

# 919 "temp$.s"


 # 



	.globl	_Esys			
_Esys:
	.space		1024
	
	.globl	_Ustack			
_Ustack:
	.space	(2*	1024)-4		
	.globl	eustack
eustack:
	.long	0			

	.globl	U_area
U_area:


unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.