File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / usr / src / lib / libc / tahoe / csu / mon.s
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Jul 28 12:24:55 2019 UTC (7 years ago) by root
Branches: bsd, MAIN
CVS tags: v121, HEAD
Power 6/32 Unix version 1.21

.data
.align	2
_sccsid:.data	2
L12:.ascii	"@(#)mon.c\11"
.ascii	"2.0 (Tahoe) 5/7/84\0"
.data
.long	L12
.comm	_countbase,4
.align	2
_cntrs:.long	0
.align	2
_profiling:.long	3
.lcomm	_s_sbuf,4
.lcomm	_s_bufsiz,4
.lcomm	_s_scale,4
.lcomm	_s_lowpc,4
.comm	_numctrs,4
.text
LL0:.align	1
.globl	_monstartup
.data	1
L31:.ascii	"No space for monitor buffer(s)\12\0"
.text
.data	1
L32:.ascii	"No space for monitor buffer(s)\12\0"
.text
.set	L22,0x0
.data
.text
_monstartup:.word	L22
subl3	$64,fp,sp
subl3	4(fp),8(fp),r0
mull2	$5,r0
divl3	$100,r0,-64(fp)
cmpl	-64(fp),$50
jgeq	L28
movl	$50,-64(fp)
L28:subl3	4(fp),8(fp),r0
incl	r0
divl2	$2,r0
addl2	$12,r0
shll	$3,-64(fp),r1
addl3	r1,r0,-56(fp)
addl3	$1,-56(fp),r0
andl3	$-2,r0,-56(fp)
pushl	-56(fp)
callf	$8,_sbrk
movl	r0,-60(fp)
cmpl	r0,$-1
jneq	L29
pushl	$32
pushl	$L31
pushl	$2
callf	$16,_write
ret#2
L29:pushl	$0
callf	$8,_sbrk
movl	r0,minbrk
pushl	-64(fp)
pushl	-56(fp)
pushl	-60(fp)
pushl	8(fp)
pushl	4(fp)
callf	$24,_monitor
ret#2
.align	1
.globl	mcount
.data	1
L44:.ascii	"mcount: counter overflow\12\0"
.text
.data	1
L45:.ascii	"mcount: counter overflow\12\0"
.text
.set	L35,0x1800
.data
.text
mcount:.word	L35
movl	-8(fp),r11
movl	4(fp),r12
tstl	_profiling
jneq	L40
incl	_profiling
tstl	(r12)
jneq	L41
movl	_cntrs,r0
incl	_cntrs
cmpl	r0,_numctrs
jeql	L43
movl	r11,*_countbase
addl3	$4,_countbase,r0
movl	r0,(r12)
addl2	$8,_countbase
L41:incl	*(r12)
decl	_profiling
L40:ret#2
L43:pushl	$26
pushl	$L44
pushl	$2
callf	$16,_write
jbr	L40
.align	1
.globl	_monitor
.lcomm	L50,4
.lcomm	L51,4
.data	1
L55:.ascii	"mon.out\0"
.text
.data
.align	2
L59:.long	0x48800000, 0x00000000 # .double 65536
.text
.set	L46,0x100C
.data
.text
_monitor:.word	L46
subl3	$56,fp,sp
tstl	4(fp)
jneq	L52
pushl	$0
callf	$8,_moncontrol
pushl	$438
pushl	$L55
callf	$12,_creat
movl	r0,r12
pushl	L50
pushl	L51
pushl	r12
callf	$16,_write
pushl	r12
callf	$8,_close
ret#2
L52:movl	12(fp),L51
movl	16(fp),L50
movl	12(fp),-56(fp)
movl	4(fp),*-56(fp)
movl	-56(fp),r0
movl	8(fp),4(r0)
movl	-56(fp),r0
movl	20(fp),8(r0)
movl	20(fp),_numctrs
addl3	$12,12(fp),_countbase
shll	$3,20(fp),r0
addl2	$12,r0
movl	r0,r12
addl2	r12,12(fp)
subl2	r12,16(fp)
jgtr	L57
ret#2
L57:subl3	4(fp),8(fp),r12
cmpl	16(fp),r12
jgeq	L58
cvlf	16(fp)
stf	r0
clrl	r1
cvld	r12
std	r2
ldd	r0
divd	r2
muld	L59
cvdl	r12
jbr	L60
L58:movl	$65536,r12
L60:movl	r12,_s_scale
movl	12(fp),_s_sbuf
movl	16(fp),_s_bufsiz
movl	4(fp),_s_lowpc
pushl	$1
callf	$8,_moncontrol
ret#2
.align	1
.globl	_moncontrol
.set	L61,0x0
.data
.text
_moncontrol:.word	L61
tstl	4(fp)
jeql	L65
pushl	_s_scale
pushl	_s_lowpc
pushl	_s_bufsiz
pushl	_s_sbuf
callf	$20,_profil
clrl	_profiling
jbr	L67
L65:pushl	$0
pushl	$0
pushl	$0
pushl	$0
callf	$20,_profil
movl	$3,_profiling
L67:ret#2


unix.superglobalmegacorp.com

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