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]