Research V7 development
[unix-history] / usr / src / cmd / roff / roff2.s
CommitLineData
4ad4d0b0
KT
1/
2/
3
4/ roff2 -- runoff
5
6casead:
7 jsr pc,rbreak
8 inc ad
9 rts pc
10
11 rts pc
12
13casebr:
14 jsr pc,rbreak
15 rts pc
16
17casecc:
18 jsr pc,skipcont
19 jsr pc,getchar
20 cmp r0,$'\n
21 beq 1f
22 movb r0,cc
231:
24 mov r0,ch
25 rts pc
26
27casece:
28 jsr pc,rbreak
29 jsr r5,number; 0
30 jsr pc,min
31 mov r0,ce
32 jsr pc,need
33 rts pc
34
35caseds:
36 jsr pc,rbreak
37 mov $2,ls
38 rts pc
39
40casefi:
41 jsr pc,rbreak
42 inc fi
43 rts pc
44
45casein:
46 jsr pc,rbreak
47 jsr r5,number; in
48 jsr pc,min
49 mov r0,in
50 mov r0,un
51 rts pc
52
53caseix:
54 jsr r5,number; in
55 jsr pc,min
56 mov r0,in
57 rts pc
58
59caseli:
60 jsr r5,number; 0
61 mov r0,-(sp)
621:
63 dec (sp)
64 blt 1f
65 jsr pc,flushi
66 clr nlflg
67 jsr pc,text
68 br 1b
691:
70 tst (sp)+
71 rts pc
72
73casell:
74 jsr r5,number; ll
75 jsr pc,min
76 mov r0,ll
77 rts pc
78
79casels:
80 jsr pc,rbreak
81 jsr pc,skipcont
82 jsr pc,getchar
83 cmp r0,$'\n
84 bne 1f
85 mov ls1,ls
86 rts pc
871:
88 mov r0,ch
89 jsr r5,number1; ls
90 dec r0
91 jsr pc,min
92 inc r0
93 mov r0,ls
94 mov r0,ls1
95 rts pc
96
97casena:
98 jsr pc,rbreak
99 clr ad
100 rts pc
101
102casene:
103 jsr r5,number; 0
104 jsr pc,min
105 jsr pc,need
106 rts pc
107
108casenf:
109 jsr pc,rbreak
110 clr fi
111 rts pc
112
113casepa:
114casebp:
115 jsr pc,rbreak
116 jsr pc,eject
117 jsr pc,skipcont
118 tst nlflg
119 bne 1f
120 jsr r5,number; pn
121 jsr pc,min
122 mov r0,pn
1231:
124 rts pc
125
126casebl:
127 jsr pc,rbreak
128 jsr r5,number; 0
129 jsr pc,min
130 mov r0,-(sp)
131 jsr pc,need2
1321:
133 dec (sp)
134 blt 1f
135 mov $' ,r0
136 jsr pc,storeline
137 jsr pc,rbreak
138 br 1b
1391:
140 tst (sp)+
141 rts pc
142
143casepl:
144 jsr r5,number; pl
145 mov r0,pl
146 jsr pc,topbot
147 rts pc
148
149casesk:
150 jsr r5,number; 0
151 jsr pc,min
152 mov r0,skip
153 rts pc
154
155casesp:
156 jsr pc,rbreak
157 jsr r5,number; 0
158 jsr r5,nlines; nline
159 rts pc
160
161casess:
162 jsr pc,rbreak
163 mov $1,ls
164 rts pc
165
166casetr:
167 jsr pc,skipcont
1681:
169 jsr pc,getchar
170 cmp r0,$'\n
171 beq 1f
172 mov r0,r1
173 jsr pc,getchar
174 cmp r0,$'\n
175 bne 2f
176 mov $' ,r0
1772:
178 movb r0,trtab(r1)
179 br 1b
1801:
181 rts pc
182
183caseta:
184 mov $tabtab,r1
1851:
186 cmp r1,$etabtab
187 bhis 1f
188 jsr r5,number; 0
189 jsr pc,min
190 dec r0
191 ble 1f
192 movb r0,(r1)+
193 br 1b
1941:
195 clrb (r1)
196 rts pc
197
198caseti:
199 jsr pc,rbreak
200 jsr r5,number; in
201 jsr pc,min
202 mov r0,un
203 rts pc
204
205caseul:
206 jsr r5,number; 0
207 jsr pc,min
208 mov r0,ul
209 rts pc
210
211caseun:
212 jsr r5,number; 0
213 sub in,r0
214 neg r0
215 jsr pc,min
216 mov r0,un
217 rts pc
218
219casehx:
220 tst hx
221 beq 1f
222 clr hx
223 br 2f
2241:
225 inc hx
2262:
227 jsr pc,topbot
228 rts pc
229
230casehe:
231 jsr r5,headin; ehead
232 mov ehead,ohead
233 rts pc
234casefo:
235 jsr r5,headin; efoot
236 mov efoot,ofoot
237 rts pc
238
239caseeh:
240 jsr r5,headin; ehead
241 rts pc
242
243caseoh:
244 jsr r5,headin; ohead
245 rts pc
246
247caseef:
248 jsr r5,headin; efoot
249 rts pc
250
251caseof:
252 jsr r5,headin; ofoot
253 rts pc
254
255casem1:
256 jsr r5,number; ma1
257 jsr pc,min
258 mov r0,ma1
259 br 1f
260
261casem2:
262 jsr r5,number; ma2
263 jsr pc,min
264 mov r0,ma2
265 br 1f
266
267casem3:
268 jsr r5,number; ma3
269 jsr pc,min
270 mov r0,ma3
271 br 1f
272
273casem4:
274 jsr r5,number; ma4
275 jsr pc,min
276 mov r0,ma4
2771:
278 jsr pc,topbot
279 rts pc
280
281casehc:
282 jsr pc,skipcont
283 jsr pc,getchar
284 cmp r0,$'\n
285 bne 1f
286 movb $200,r0
2871:
288 mov r0,ohc
289 rts pc
290
291casetc:
292 jsr pc,skipcont
293 jsr pc,getchar
294 cmp r0,$'\n
295 bne 1f
296 mov $' ,r0
2971:
298 mov r0,tabc
299 rts pc
300
301casehy:
302 jsr r5,number; 0
303 mov r0,hyf
304 rts pc
305
306casen1:
307 jsr pc,rbreak
308 mov $1,numbmod
309 br 1f
310casen2:
311 jsr pc,rbreak
312 mov $2,numbmod
3131:
314 clr nn
315 jsr r5,number; 0
316 tst r0
317 ble 1f
318 mov r0,lnumber
319 rts pc
3201:
321 clr numbmod
322 rts pc
323
324casenn:
325 jsr r5,number; 0
326 jsr pc,min
327 mov r0,nn
328 rts pc
329
330caseni:
331 jsr r5,number; ni
332 jsr pc,min
333 mov r0,ni
334 rts pc
335
336casejo:
337 jsr r5,number; 0
338 mov r0,jfomod
339 rts pc
340
341casear:
342 clr ro
343 rts pc
344
345casero:
346 inc ro
347 rts pc
348
349casenx:
350 jsr pc,skipcont
351 jsr r5,getname; nextf
352 inc nx
353 jsr pc,nextfile
354 inc nlflg
355 clr ip
356 mov $ilist,ilistp
357 rts pc
358
359casepo:
360 jsr pc,rbreak
361 jsr r5,number; po
362 jsr pc,min
363 mov r0,po
364 rts pc
365
366casede:
367 tst ip
368 bne 5f
369 jsr pc,skipcont
370 jsr r5,getname; bname
371 clr skp
372 mov $contab,r1
373 clr -(sp)
3741:
375 mov (r1)+,(sp)
376 beq 2f
377 bic $100000,(sp)
378 cmp bname,(sp)
379 bne 3f
3802:
381 bis $100000,bname
382 mov nextb,(r1)
383 mov bname,-(r1)
384 br 4f
3853:
386 cmp (r1)+,$-1
387 bne 1b
388 inc skp
3894:
390 tst (r1)+
391 jsr pc,copyb
392 tst (sp)+
3935:
394 rts pc
395
396caseig:
397 inc skp
398 jsr pc,copyb
399 rts pc
400
401casemk:
402 jsr pc,rbreak
403 mov $002,r0 /stx
404 jsr pc,putchar
405 rts pc
406