Research V7 development
[unix-history] / usr / src / cmd / as / as23.s
CommitLineData
8d8c20ed
DR
1/
2/
3
4/ a3 -- pdp-11 assembler pass 2
5
6assem:
7 jsr pc,readop
8 cmp r4,$5
9 beq 2f
10 cmp r4,$'<
11 beq 2f
12 jsr pc,checkeos
13 br eal1
14 mov r4,-(sp)
15 cmp (sp),$1
16 bne 1f
17 mov $2,(sp)
18 jsr pc,getw
19 mov r4,numval
201:
21 jsr pc,readop
22 cmp r4,$'=
23 beq 4f
24 cmp r4,$':
25 beq 1f
26 mov r4,savop
27 mov (sp)+,r4
282:
29 jsr pc,opline
30dotmax:
31 tstb passno
32 bne eal1
33 movb dotrel,r0
34 asl r0
35 cmp dot,txtsiz-4(r0)
36 blos ealoop
37 mov dot,txtsiz-4(r0)
38eal1:
39 jmp ealoop
401:
41 mov (sp)+,r4
42 cmp r4,$200
43 bhis 1f
44 cmp r4,$2
45 beq 3f
46 jsr r5,error; 'x
47 br assem
481:
49 tstb passno
50 bne 2f
51 movb (r4),r0
52 bic $!37,r0
53 beq 5f
54 cmp r0,$33
55 blt 6f
56 cmp r0,$34
57 ble 5f
586:
59 jsr r5,error; 'm
605:
61 bic $37,(r4)
62 bis dotrel,(r4)
63 mov 2(r4),brdelt
64 sub dot,brdelt
65 mov dot,2(r4)
66 br assem
672:
68 cmp dot,2(r4)
69 beq assem
70 jsr r5,error; 'p
71 br assem
723:
73 mov numval,r4
74 jsr pc,fbadv
75 asl r4
76 mov curfb(r4),r0
77 movb dotrel,(r0)
78 mov 2(r0),brdelt
79 sub dot,brdelt
80 mov dot,2(r0)
81 br assem
824:
83 jsr pc,readop
84 jsr pc,expres
85 mov (sp)+,r1
86 cmp r1,$symtab /test for dot
87 bne 1f
88 bic $40,r3
89 cmp r3,dotrel / can't change relocation
90 bne 2f
91 cmp r3,$4 / bss
92 bne 3f
93 mov r2,dot
94 br dotmax
953:
96 sub dot,r2
97 bmi 2f
98 mov r2,-(sp)
993:
100 dec (sp)
101 bmi 3f
102 clr r2
103 mov $1,r3
104 jsr pc,outb
105 br 3b
1063:
107 tst (sp)+
108 br dotmax
1092:
110 jsr r5,error; '.
111 br ealoop
1121:
113 cmp r3,$40
114 bne 1f
115 jsr r5,error; 'r
1161:
117 bic $37,(r1)
118 bic $!37,r3
119 bne 1f
120 clr r2
1211:
122 bisb r3,(r1)
123 mov r2,2(r1)
124
125ealoop:
126 cmp r4,$'\n
127 beq 1f
128 cmp r4,$'\e
129 bne 9f
130 rts pc
1311:
132 inc line
1339:
134 jmp assem
135
136checkeos:
137 cmp r4,$'\n
138 beq 1f
139 cmp r4,$';
140 beq 1f
141 cmp r4,$'\e
142 beq 1f
143 add $2,(sp)
1441:
145 rts pc
146
147fbadv:
148 asl r4
149 mov nxtfb(r4),r1
150 mov r1,curfb(r4)
151 bne 1f
152 mov fbbufp,r1
153 br 2f
1541:
155 add $4,r1
1562:
157 cmpb 1(r1),r4
158 beq 1f
159 tst (r1)
160 bpl 1b
1611:
162 mov r1,nxtfb(r4)
163 asr r4
164 rts pc
165