|
|
The numbers and letters in parenthesis are used as labels for the documentation
that follows the listing.
.SPACE $TEXT$ (a)
.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
mul
.PROC (b)
.CALLINFO CALLER,FRAME=-8,ENTRY_SR=1
.ENTRY
; .EXPORTED
LDO 40(30),30 ; (11)
STW 26,-76(0,30) ;
STW 25,-80(0,30) ;
LDW -76(0,30),26 ;
.CALL ; in=25,26; out=29;
BL $$muloI,31 ;
LDW -80(0,30),25 ;
STW 29,-40(0,30) ; (12)
LDW -40(0,30),28 ;
00002711 (dummy label)
BV 0(2) ; (13)
.EXIT ; (c)
LDO -40(30),30 ;
.PROCEND;in=25,26;out=28;
proca
.PROC (b)
.CALLINFO CALLER,FRAME=0,ENTRY_SR=1,SAVE_RP
.ENTRY
; .EXPORTED
STW 2,-20(0,30) ; (7)
LDO 48(30),30 ;
STW 26,-84(0,30) ; (8)
STW 25,-88(0,30) ;
STW 24,-92(0,30) ;
STW 23,-96(0,30) ;
LDW -84(0,30),1 ; (9)
LDW -88(0,30),31 ;
ADDO 1,31,19 ;
LDW -92(0,30),20 ;
STW 19,0(0,20) ;
LDW -84(0,30),26 ; (10)
.CALL ; in=25,26; out=28;
BL mul,2 ;
LDW -88(0,30),25 ;
LDW -96(0,30),21 ; (14)
STW 28,0(0,21) ;
00002712 (dummy'label)
LDW -68(0,30),2 ; (15)
BV 0(2) ;
.EXIT ; (c)
LDO -48(30),30 ;
.PROCEND; in=23,24,25,26;
one
.PROC (b)
.CALLINFO CALLER,FRAME=32,SAVE_RP
.ENTRY
; .EXPORTED
STW 2,-20(0,30) ; (3)
LDO 80(30),30 ;
LDI 5,22 ; (4)
STW 22,-60(0,30) ;
LDI 10,1 ;
STW 1,-64(0,30) ;
LDW -60(0,30),26 ; (5)
LDW -64(0,30),25 ;
LDO -68(30),24 ;
LDO -72(30),23 ;
LDW -76(0,30),31 ;
LDW -80(0,30),19 ;
STW 31,-52(0,30) ;
STW 19,-56(0,30) ;
.CALL ; in=23,24,25,26; (6)
BL proca,2 ;
NOP ;
LDW -76(0,30),20 ; (16)
LDW -80(0,30),21 ;
ADDO 20,21,22 ;
STW 22,-76(0,30) ;
LDW -76(0,30),1 ;
STW 1,-80(0,30) ;
00002713 (dummy label)
LDW -100(0,30),2 ; (17)
BV 0(2) ;
.EXIT ; (c)
LDO -80(30),30 ;
.PROCEND
PROGRAM
_start
.PROC (c)
.CALLINFO CALLER,FRAME=0,SAVE_SP,SAVE_RP
.ENTRY
; .EXPORTED
STW 2,-20(0,30) ; (1)
LDO 48(30),30 ;
STW 0,-4(0,30) ;
:
:
< calls to system process initialization procedures >
< these would not appear in the C compiler output >
:
:
.CALL ; (2)
BL one,2 ;
NOP ;
:
:
< calls to system process termination procedures >
< these would not appear in the C compiler output >
:
:
LDW -68(0,30),2 ; (18)
BV 0(2) ;
.EXIT ; (c)
LDO -48(30),30 ;
.PROCEND ; in=24,25,26;
.SPACE $TEXT$ (a)
.SUBSPA $CODE$
.EXPORT mul,ARGW0=GR,ARGW1=GR,RTIVAL=GR (d)
:
:
< .EXPORT list continues >
< .IMPORT list begins > (e)
:
.IMPORT $$muloI,MILLICODE
.END
|