1: /
2: /
3:
4: / PDP-11 assembler pass 0
5:
6: jmp start
7: go:
8: jsr pc,assem
9: movb pof,r0
10: sys write; outbuf; 512.
11: jes wrterr
12: movb pof,r0
13: sys close
14: movb fbfil,r0
15: sys close
16: tstb errflg
17: bne aexit
18: jsr r5,fcreat; a.tmp3
19: mov r0,r1
20: mov symend,0f
21: sub $usymtab,0f
22: sys indir; 9f
23: jes wrterr
24: .data
25: 9: sys write; usymtab; 0:..
26: .text
27: mov r1,r0
28: sys close
29: sys exec; fpass2; 1f
30: mov $fpass2,r0
31: jsr r5,filerr; "?\n
32:
33: aexit:
34: sys unlink; a.tmp1
35: sys unlink; a.tmp2
36: sys unlink; a.tmp3
37: mov $3,r0
38: sys exit
39: .data
40: 1:
41: fpass2
42: globfl
43: outfl
44: outfp:
45: outfile
46: a.tmp1
47: a.tmp2
48: a.tmp3
49: 0
50: fpass2:
51: </lib/as2\0>
52: globfl:
53: unglob=.+1
54: <-\0\0>
55: outfl:
56: <-o\0>
57: outfile:
58: <a.out\0>
59: 3:
60: <-g\0>
61: .even
62: .text
63:
64: filerr:
65: mov r4,-(sp)
66: mov r0,r4
67: mov r4,0f
68: clr r0
69: 1:
70: tstb (r4)+
71: beq 1f
72: inc r0
73: br 1b
74: 1:
75: mov r0,1f
76: mov $1,r0
77: sys indir; 9f
78: .data
79: 9: sys write; 0:0; 1:0
80: .text
81: mov r5,0f
82: mov $1,0f+2
83: tstb 1(r5)
84: beq 1f
85: mov $2,0f+2
86: 1:
87: mov $1,r0
88: sys indir; 9f
89: .data
90: 9: sys write; 0:0; 1
91: .text
92: tst (r5)+
93: mov (sp)+,r4
94: rts r5
95:
96: fcreat:
97: mov r4,-(sp)
98: mov (r5)+,r4
99: mov r4,0f
100: 1:
101: sys indir; 9f
102: .data
103: 9: sys stat; 0:..; outbuf
104: .text
105: bec 2f
106: mov r4,0f
107: sys indir; 9f
108: .data
109: 9: sys creat; 0:..; 444
110: .text
111: bes 2f
112: mov (sp)+,r4
113: rts r5
114: 2:
115: incb 9.(r4)
116: cmpb 9.(r4),$'z
117: blos 1b
118: mov r4,r0
119: jsr r5,filerr; "?\n
120: mov $3,r0
121: sys exit
122:
123: .=.+2
124: wrterr:
125: mov $1,r0
126: sys write; 9f; 9f-8f
127: inc errflg
128: jbr aexit
129: 9: <as: Write error on temp file.\n>; 8:
Defined functions
aexit
defined in line
33; used 2 times
go
defined in line
7;
never used
Defined variables
outfl
defined in line
55; used 1 times
outfp
defined in line
44;
never used