1: / C runtime startoff including monitoring
2:
3: cbufs = 300.
4: exit = 1
5: write = 4
6:
7: .globl _monitor
8: .globl _sbrk
9: .globl _main
10: .globl _exit
11: .globl _environ
12: .globl _etext
13: .globl __cleanup
14: .globl countbase
15:
16:
17: start:
18: setd
19: mov 2(sp),r0
20: clr -2(r0)
21: mov sp,r0
22: sub $4,sp
23: mov 4(sp),(sp)
24: tst (r0)+
25: mov r0,2(sp)
26: 1:
27: tst (r0)+
28: bne 1b
29: cmp r0,*2(sp)
30: blo 1f
31: tst -(r0)
32: 1:
33: mov r0,4(sp)
34: mov r0,_environ
35:
36: mov $_etext,r1
37: sub $eprol,r1
38: add $7,r1
39: ash $-3,r1
40: bic $!17777,r1
41: mov $cbufs,-(sp)
42: add $3*[cbufs+1],r1
43: mov r1,-(sp)
44: asl r1
45: mov r1,-(sp)
46: jsr pc,_sbrk
47: tst (sp)+
48: cmp r0,$-1
49: beq 9f
50: mov r0,-(sp)
51: add $6,r0
52: mov r0,countbase
53: mov $_etext,-(sp)
54: mov $eprol,-(sp)
55: jsr pc,_monitor
56: add $10.,sp
57: jsr pc,_main
58: cmp (sp)+,(sp)+
59: mov r0,(sp)
60: jsr pc,_exit
61:
62: 9:
63: mov $2,r0
64: sys write; 8f; 9f-8f
65:
66: .data; 8: <No space for monitor buffer\n>; 9:.even; .text
67:
68: _exit:
69: mov r5,-(sp)
70: mov sp,r5
71: jsr pc,__cleanup
72: clr -(sp)
73: jsr pc,_monitor
74: tst (sp)+
75: mov 4(r5),r0
76: sys exit
77: eprol:
78: .bss
79: _environ:
80: .=.+2
81: countbase:
82: .=.+2
83: .data
84: .=.+2
Defined functions
_exit
declared in line
10; defined in line
68; used 2 times
cbufs
defined in line
3; used 2 times
eprol
defined in line
77; used 2 times
exit
defined in line
4; used 1 times
start
defined in line
17;
never used
write
defined in line
5; used 1 times
Defined variables
_environ
declared in line
11; defined in line
79; used 2 times