Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-08 - 43,50512/topd.mac
There are no other files named topd.mac in the archive.
;BLISS-10 7B(222) 	11/8/77  	16:45:31 		TOP.I36		Page 1

;     	   1    ! BLISS-36C 4(141)	Tuesday 08-Nov-1977  16:45:30	SFT60:TOP.B36[10,777]				Page 1
;     	   2    ! Digital Equipment Corporation, COMPANY CONFIDENTIAL
;     	   3    !
;     	   4    !	0001	MODULE TOP(MAIN=TOP)=
;     	   5    !	0002	!Module to define prologues and the prime stack
;     	   6    !	0003	!It will not work as-is, but should be modified to set
;     	   7    !	0004	!the AC field in the return address to the # of registers to restore
;     	   8    !	0005	BEGIN
;     	   9    MODULE TOP(BLS36,CCL,STACK,TIMER=EXTERNAL(SIX12C),DEBUG,IDELE,MLIST,SREG=#17,VREG=#1,FREG=#15,DREGS=7,RESERVE(0,#16))=
;     	  10    BEGIN
;     	  11    

TITLE	TOP..
TWOSEG
RELOC 400000



OPDEF DEBUG[37B8]	;LUUO FOR SIX12

;ROUTINE PROLOGS AND EPILOGS

.ENT.0::
	HRLI	5,0_5	;# of saved DREGS
	HLLM	5,(17)		;Save in LH of return addr word
	PUSH	$S,15
	HRRZ	$F,17
	JRST	00,0(05)

.ENT.1::
	HRLI	5,1_5	;# of saved DREGS
	HLLM	5,(17)		;Save in LH of return addr word
	PUSH	$S,15
	HRRZ	$F,17
	PUSH	$S,14
	JRST	00,0(05)

.ENT.2::
	HRLI	5,2_5	;# of saved DREGS
	HLLM	5,(17)		;Save in LH of return addr word
	PUSH	$S,15
	HRRZ	$F,17
	PUSH	$S,14
	PUSH	$S,13
	JRST	00,0(05)

.ENT.3::
	HRLI	5,3_5	;# of saved DREGS
	HLLM	5,(17)		;Save in LH of return addr word
	PUSH	$S,15
	HRRZ	$F,17
	PUSH	$S,14
	PUSH	$S,13
	PUSH	$S,12
	JRST	00,0(05)

.ENT.4::
	HRLI	5,4_5	;# of saved DREGS
	HLLM	5,(17)		;Save in LH of return addr word
	PUSH	$S,15
	HRRZ	$F,17
	PUSH	$S,14
	PUSH	$S,13
	PUSH	$S,12
	PUSH	$S,11
	JRST	00,0(05)

.ENT.5::
	HRLI	5,5_5	;# of saved DREGS
	HLLM	5,(17)		;Save in LH of return addr word
	PUSH	$S,15
;BLISS-10 7B(222) 	11/8/77  	16:45:31 		TOP.I36		Page 1-1

	HRRZ	$F,17
	PUSH	$S,14
	PUSH	$S,13
	PUSH	$S,12
	PUSH	$S,11
	PUSH	$S,10
	JRST	00,0(05)

.ENT.6::
	HRLI	5,6_5	;# of saved DREGS
	HLLM	5,(17)		;Save in LH of return addr word
	PUSH	$S,15
	HRRZ	$F,17
	PUSH	$S,14
	PUSH	$S,13
	PUSH	$S,12
	PUSH	$S,11
	PUSH	$S,10
	PUSH	$S,7
	JRST	00,0(05)

.ENT.7::
	HRLI	5,7_5	;# of saved DREGS
	HLLM	5,(17)		;Save in LH of return addr word
	PUSH	$S,15
	HRRZ	$F,17
	PUSH	$S,14
	PUSH	$S,13
	PUSH	$S,12
	PUSH	$S,11
	PUSH	$S,10
	PUSH	$S,7
	PUSH	$S,6
	JRST	00,0(05)

.EXT.7::
	POP	$S,6
.EXT.6::
	POP	$S,7
.EXT.5::
	POP	$S,10
.EXT.4::
	POP	$S,11
.EXT.3::
	POP	$S,12
.EXT.2::
	POP	$S,13
.EXT.1::
	POP	$S,14
.EXT.0::
	POP	$S,15
	POPJ	$S,0


;STACK=TOP.O+0
.SREG=:-17
.FREG=:-15
.VREG=:-1
.DREGS=:-17700
;     	  12    REQUIRE SYS:BLS36C.DCL;
;     	  48    LIBRARY& 'SYS:BLS36C.REL';
;BLISS-10 7B(222) 	11/8/77  	16:45:31 		TOP.I36		Page 1-2

;     	  49        BEGIN
;     	  50    !	0006	EXTERNAL ROUTINE MAIN;
;     	  51        EXTERNAL MAIN;
;     	  52    !	0007	ROUTINE TOP=MAIN();
;     	  53    
;     	  54    
;     	  55        ROUTINE TOP=
;     	  56    	(MAIN());
;     	  57    

TOP:

	DEBUG	00,TOP				;00000	
	JSP	05,.ENT.0			;00001		External
	PUSHJ	$S,MAIN				;00002		External
	SUB	$S,TOP.L+0			;00003	
	DEBUG	$V,TOP				;00004	  57
	SUB	$S,TOP.L+0			;00005	
	JRST	00,.EXT.0			;00006		External


;     	  58        SWITCHES NULL;
;     	  59    !	0008	END ELUDOM
;     	  60    
;     	  61        TOP(.15,.9,.7,.0,.VREG);
;     	  62    
;     	  63        END
;     	  64    END ELUDOM
;     	  65    
;     	  66    
;     	  67    
;     	  68    ! Run Time:	00:00
;     	  69    ! Elapsed Time:	00:00
;     	  70    ! Memory Used:	2K
;     	  71    ! Translation Complete

TOP.F::

	TDZA	$V,1				;00000	   1
	MOVEI	$V,1				;00001	
	HRRZI	$F,TOP.O+0			;00002	
	MOVEM	$F,.BREG			;00003		External
	HRLI	$S,-765				;00004	
	HRRZI	$F,13($F)			;00005		Formal
	HRR	$S,15				;00006	
	PUSH	$S,1				;00007	
	HRRZI	05,0				;00010	
	TLO	05,400000			;00011	
	PUSH	$S,5				;00012	
	PUSHJ	$S,SIX12C			;00013		External
	SUB	$S,TOP.L+1			;00014	
	POP	$S,1				;00015	
	PUSH	$S,17				;00016	  52
	PUSH	$S,11				;00017	
	PUSH	$S,7				;00020	
	PUSH	$S,0				;00021	
	PUSH	$S,1				;00022	
;BLISS-10 7B(222) 	11/8/77  	16:45:32 		TOP.I36		Page 1-3

	PUSHJ	$S,TOP				;00023	
	SUB	$S,TOP.L+2			;00024	
	SETZ	$V,0				;00025	  62
	CALLI 	00,12				;00026	  65




;Special register declarations

$S=:	17
$F=:	15
$V=:	1


;Constant pointers

TOP.C::

;Literals

TOP.L::

XWD	000000,000000	;00000
XWD	000001,000001	;00001
XWD	000005,000005	;00002



;PLIT area

TOP.P::
RELOC		;To low segment

;GLOBAL area
TOP.G::

;OWN area
TOP.O::	BLOCK	1000

.BREG::	BLOCK	1	;CO-ROUTINE PSEUDO-REGISTER


;EXTERNAL requests

EXTERN	SIX12C,MAIN
	END	TOP.F	;Pseudo-op for MACRO-10


;Module length: 91+3
;Run Time: 0:0.5
;Elapsed Time: 0:1.5
;Max core used: 7 + 41 K

;[BLSNED No errors detected]