Commit | Line | Data |
---|---|---|
69f28986 KT |
1 | " init |
2 | ||
3 | -1 | |
4 | sys intrp | |
5 | jms init1 | |
6 | jms init2 | |
7 | 1: | |
8 | sys rmes | |
9 | sad pid1 | |
10 | jmp 1f | |
11 | sad pid2 | |
12 | jms init2 | |
13 | jmp 1 | |
14 | 1: | |
15 | jms init1 | |
16 | jmp 1 | |
17 | ||
18 | init1: 0 | |
19 | sys fork | |
20 | jmp 1f | |
21 | sys open; ttyin; 0 | |
22 | sys open; ttyout; 1 | |
23 | jmp login | |
24 | 1: | |
25 | dac pid1 | |
26 | jmp init1 i | |
27 | ||
28 | init2: 0 | |
29 | sys fork | |
30 | jmp 1f | |
31 | sys open; keybd; 0 | |
32 | sys open; displ; 1 | |
33 | jmp login | |
34 | 1: | |
35 | dac pid2 | |
36 | jmp init2 i | |
37 | ||
38 | login: | |
39 | -1 | |
40 | sys intrp | |
41 | sys open; password; 0 | |
42 | lac d1 | |
43 | sys write; m1; m1s | |
44 | jms rline | |
45 | lac ebufp | |
46 | dac tal | |
47 | 1: | |
48 | jms gline | |
49 | law ibuf-1 | |
50 | dac 8 | |
51 | law obuf-1 | |
52 | dac 9 | |
53 | 2: | |
54 | lac 8 i | |
55 | sac o12 | |
56 | lac o72 | |
57 | sad 9 i | |
58 | skp | |
59 | jmp 1b | |
60 | sad o72 | |
61 | skp | |
62 | jmp 2b | |
63 | lac 9 i | |
64 | sad o72 | |
65 | jmp 1f | |
66 | -1 | |
67 | tad 9 | |
68 | dac 9 | |
69 | lac d1 | |
70 | sys write; m3; m3s | |
71 | jms rline | |
72 | law ibuf-1 | |
73 | dac 8 | |
74 | 2: | |
75 | lac 8 i | |
76 | sad o12 | |
77 | lac o72 | |
78 | sad 9 i | |
79 | skp | |
80 | jmp error | |
81 | sad o72 | |
82 | skp | |
83 | jmp 2b | |
84 | 1: | |
85 | dzm nchar | |
86 | law dir-1 | |
87 | dac 8 | |
88 | 1: | |
89 | lac 9 i | |
90 | sad o72 | |
91 | jmp 1f | |
92 | dac char | |
93 | lac nchar | |
94 | sza | |
95 | jmp 2f | |
96 | lac char | |
97 | alss 9 | |
98 | xor o40 | |
99 | dac 8 i | |
100 | dac nchar | |
101 | jmp 1b | |
102 | 2: | |
103 | lac 8 | |
104 | dac nchar | |
105 | lac nchar i | |
106 | and o777000 | |
107 | xor char | |
108 | dac nchar i | |
109 | dzm nchar | |
110 | jmp 1b | |
111 | 1: | |
112 | dzm nchar | |
113 | 1: | |
114 | lac 9 i | |
115 | sad o12 | |
116 | jmp 2f | |
117 | tad om60 | |
118 | lmq | |
119 | lac nchar | |
120 | cll; als 3 | |
121 | omq | |
122 | dac nchar | |
123 | jmp 1b | |
124 | 2: | |
125 | lac nchar | |
126 | sys setuid | |
127 | sys chdir; dd | |
128 | sys chdir; dir | |
129 | ||
130 | lac d2 | |
131 | sys close | |
132 | sys open; sh; 0 | |
133 | sma | |
134 | jmp 1f | |
135 | sys link; system; sh; sh | |
136 | spa | |
137 | jmp error | |
138 | sys open; sh; 0 | |
139 | spa | |
140 | jmp error | |
141 | sys unlink; sh | |
142 | 1: | |
143 | law 017700 | |
144 | dac 9 | |
145 | law boot-1 | |
146 | dac 8 | |
147 | 1: | |
148 | lac 8 i | |
149 | dac 9 i | |
150 | sza | |
151 | jmp 1b | |
152 | jmp 017701 | |
153 | ||
154 | boot: | |
155 | lac d2 | |
156 | lmq | |
157 | sys read; 4096; 07700 | |
158 | lacq | |
159 | sys close | |
160 | jmp 4096 | |
161 | 0 | |
162 | ||
163 | rline: 0 | |
164 | law ibuf-1 | |
165 | dac 8 | |
166 | 1: | |
167 | cla | |
168 | sys read; char; 1 | |
169 | lac char | |
170 | lrss 9 | |
171 | sad o100 | |
172 | jmp rline+1 | |
173 | sad o43 | |
174 | jmp 2f | |
175 | dac 8 i | |
176 | sad o12 | |
177 | jmp rline i | |
178 | jmp 1b | |
179 | 2: | |
180 | law ibuf-1 | |
181 | sad 8 | |
182 | jmp 1b | |
183 | -1 | |
184 | tad 8 | |
185 | dac 8 | |
186 | jmp 1b | |
187 | ||
188 | gline: 0 | |
189 | law obuf-1 | |
190 | dac 8 | |
191 | 1: | |
192 | jms gchar | |
193 | dac 8 i | |
194 | sad o12 | |
195 | jmp gline i | |
196 | jmp 1b | |
197 | ||
198 | gchar: 0 | |
199 | lac tal | |
200 | sad ebufp | |
201 | jmp 1f | |
202 | ral | |
203 | lac tal i | |
204 | snl | |
205 | lrss 9 | |
206 | and o777 | |
207 | lmq | |
208 | lac tal | |
209 | add o400000 | |
210 | dac tal | |
211 | lacq | |
212 | sna | |
213 | jmp gchar+1 | |
214 | jmp gchar i | |
215 | 1: | |
216 | lac bufp | |
217 | dac tal | |
218 | 1: | |
219 | dzm tal i | |
220 | isz tal | |
221 | lac tal | |
222 | sad ebufp | |
223 | skp | |
224 | jmp 1b | |
225 | lac bufp | |
226 | dac tal | |
227 | lac d2 | |
228 | sys tead; buf; 64 | |
229 | sna | |
230 | jmp error | |
231 | jmp gchar+1 | |
232 | ||
233 | error: | |
234 | lac d1 | |
235 | sys write; m2; m2s | |
236 | lac d1 | |
237 | sys smes | |
238 | sys exit | |
239 | ||
240 | m1: | |
241 | 012; <lo>;<gi>;<n;<:;< | |
242 | m1s = .-m1 | |
243 | m2: | |
244 | <?; 012 | |
245 | m2s = .-m2 | |
246 | m3: | |
247 | <pa>;<ss>;<wo>;<rd>;<: 040 | |
248 | m3s = .-m3 | |
249 | dd: | |
250 | <dd>;040040;040040;040040 | |
251 | dir: | |
252 | 040040;040040;040040;040040 | |
253 | ||
254 | ttyin: | |
255 | <tt>;<yi>;<n 040;040040 | |
256 | ttyout: | |
257 | <tt>;<yo>;<ut>; 040040 | |
258 | keybd: | |
259 | <ke>;<yb>;<oa>;<rd> | |
260 | displ: | |
261 | <di>;<sp>;<la>;<y 040 | |
262 | sh: | |
263 | <sh>; 040040;040040;040040 | |
264 | system: | |
265 | <sy>;<st>;<em>; 040040 | |
266 | password: | |
267 | <pa>;<ss>;<wo>;<rd> | |
268 | ||
269 | d1: 1 | |
270 | o43: 043 | |
271 | o100: 0100 | |
272 | o400000; 0400000 | |
273 | d2: 2 | |
274 | o12: 012 | |
275 | om60: -060 | |
276 | d3: 3 | |
277 | ebufp: buf+64 | |
278 | bufp: buf | |
279 | o777: 0777 | |
280 | o777000: 0777000 | |
281 | o40: 040 | |
282 | o72: 072 | |
283 | ||
284 | ibuf: .=.+100 | |
285 | obuf: .=.+100 | |
286 | tal: .=.+1 | |
287 | buf: .=.+64 | |
288 | char: .=.+1 | |
289 | nchar: .=.+1 | |
290 | pid1: .=.+1 | |
291 | pid2: .=.+1 |