Research V7 development
[unix-history] / usr / src / cmd / as / as15.s
CommitLineData
8d8c20ed
DR
1/
2/
3
4/ a5 -- pdp-11 assembler pass 1
5
6readop:
7 mov savop,r4
8 beq 1f
9 clr savop
10 rts pc
111:
12 jsr pc,8f
13 jsr pc,putw
14 rts pc
15
168:
17 jsr pc,rch
18_readop:
19 mov r0,r4
20 movb chartab(r0),r1
21 bgt rdname
22 jmp *1f-2(r1)
23
24 fixor
25 escp
26 8b
27 retread
28 dquote
29 garb
30 squote
31 rdname
32 skip
33 rdnum
34 retread
35 string
361:
37
38escp:
39 jsr pc,rch
40 mov $esctab,r1
411:
42 cmpb r0,(r1)+
43 beq 1f
44 tstb (r1)+
45 bne 1b
46 rts pc
471:
48 movb (r1),r4
49 rts pc
50
51esctab:
52 .byte '/, '/
53 .byte '\<, 035
54 .byte '>, 036
55 .byte '%, 037
56 .byte 0, 0
57
58fixor:
59 mov $037,r4
60retread:
61 rts pc
62
63rdname:
64 movb r0,ch
65 cmp r1,$'0
66 blo 1f
67 cmp r1,$'9
68 blos rdnum
691:
70 jmp rname
71
72rdnum:
73 jsr pc,number
74 br 1f
75 rts pc
76
77squote:
78 jsr pc,rsch
79 br 1f
80dquote:
81 jsr pc,rsch
82 mov r0,-(sp)
83 jsr pc,rsch
84 swab r0
85 bis (sp)+,r0
861:
87 mov r0,numval
88 mov $1,r4
89 jsr pc,putw
90 mov numval,r4
91 jsr pc,putw
92 mov $1,r4
93 tst (sp)+
94 rts pc
95
96skip:
97 jsr pc,rch
98 mov r0,r4
99 cmp r0,$'\e
100 beq 1f
101 cmp r0,$'\n
102 bne skip
1031:
104 rts pc
105
106garb:
107 jsr r5,error; 'g
108 br 8b
109
110string:
111 mov $'<,r4
112 jsr pc,putw
113 clr numval
1141:
115 jsr pc,rsch
116 tst r1
117 bne 1f
118 mov r0,r4
119 bis $400,r4
120 jsr pc,putw
121 inc numval
122 br 1b
1231:
124 mov $-1,r4
125 jsr pc,putw
126 mov $'<,r4
127 tst (sp)+
128 rts pc
129
130rsch:
131 jsr pc,rch
132 cmp r0,$'\e
133 beq 4f
134 cmp r0,$'\n
135 beq 4f
136 clr r1
137 cmp r0,$'\\
138 bne 3f
139 jsr pc,rch
140 mov $schar,r2
1411:
142 cmpb (r2)+,r0
143 beq 2f
144 tstb (r2)+
145 bpl 1b
146 rts pc
1472:
148 movb (r2)+,r0
149 clr r1
150 rts pc
1513:
152 cmp r0,$'>
153 bne 1f
154 inc r1
1551:
156 rts pc
1574:
158 jsr r5,error; '<
159 jmp aexit
160
161schar:
162 .byte 'n, 012
163 .byte 's, 040
164 .byte 't, 011
165 .byte 'e, 004
166 .byte '0, 000
167 .byte 'r, 015
168 .byte 'a, 006
169 .byte 'p, 033
170 .byte 0, -1
171