Research V7 development
[unix-history] / usr / src / cmd / as / as11.s
CommitLineData
8d8c20ed
DR
1/
2/
3
4/ PDP-11 assembler pass 0
5
6 jmp start
7go:
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
259: 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
33aexit:
34 sys unlink; a.tmp1
35 sys unlink; a.tmp2
36 sys unlink; a.tmp3
37 mov $3,r0
38 sys exit
39.data
401:
41 fpass2
42 globfl
43 outfl
44outfp:
45 outfile
46 a.tmp1
47 a.tmp2
48 a.tmp3
49 0
50fpass2:
51 </lib/as2\0>
52globfl:
53unglob=.+1
54 <-\0\0>
55outfl:
56 <-o\0>
57outfile:
58 <a.out\0>
593:
60 <-g\0>
61 .even
62 .text
63
64filerr:
65 mov r4,-(sp)
66 mov r0,r4
67 mov r4,0f
68 clr r0
691:
70 tstb (r4)+
71 beq 1f
72 inc r0
73 br 1b
741:
75 mov r0,1f
76 mov $1,r0
77 sys indir; 9f
78 .data
799: 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
861:
87 mov $1,r0
88 sys indir; 9f
89 .data
909: sys write; 0:0; 1
91 .text
92 tst (r5)+
93 mov (sp)+,r4
94 rts r5
95
96fcreat:
97 mov r4,-(sp)
98 mov (r5)+,r4
99 mov r4,0f
1001:
101 sys indir; 9f
102 .data
1039: sys stat; 0:..; outbuf
104 .text
105 bec 2f
106 mov r4,0f
107 sys indir; 9f
108 .data
1099: sys creat; 0:..; 444
110 .text
111 bes 2f
112 mov (sp)+,r4
113 rts r5
1142:
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
124wrterr:
125 mov $1,r0
126 sys write; 9f; 9f-8f
127 inc errflg
128 jbr aexit
1299: <as: Write error on temp file.\n>; 8: