comparison level1/cmds/shell_21.asm @ 0:6641a883d6b0

Initial revision
author boisy
date Thu, 04 Apr 2002 16:34:12 +0000
parents
children d4eb10b30e72
comparison
equal deleted inserted replaced
-1:000000000000 0:6641a883d6b0
1 ********************************************************************
2 * Shell - OS-9 Command Interpreter
3 *
4 * $Id$
5 *
6 * Ed. Comments Who YY/MM/DD
7 * ------------------------------------------------------------------
8 * 20 Original Microware distribution version
9
10 nam Shell
11 ttl OS-9 Command Interpreter
12
13 * Disassembled 02/04/03 22:01:32 by Disasm v1.6 (C) 1988 by RML
14
15 ifp1
16 use os9defs
17 endc
18 tylg set Prgrm+Objct
19 atrv set ReEnt+rev
20 rev set $01
21 mod eom,name,tylg,atrv,start,size
22 u0000 rmb 1
23 u0001 rmb 2
24 u0003 rmb 1
25 u0004 rmb 1
26 u0005 rmb 1
27 u0006 rmb 2
28 u0008 rmb 2
29 u000A rmb 1
30 u000B rmb 1
31 u000C rmb 1
32 u000D rmb 1
33 u000E rmb 1
34 u000F rmb 1
35 u0010 rmb 1
36 u0011 rmb 1
37 u0012 rmb 1
38 u0013 rmb 4
39 u0017 rmb 14
40 u0025 rmb 1
41 u0026 rmb 7
42 u002D rmb 17
43 u003E rmb 5
44 u0043 rmb 8
45 u004B rmb 19
46 u005E rmb 46
47 u008C rmb 1
48 u008D rmb 25
49 u00A6 rmb 4
50 u00AA rmb 17
51 u00BB rmb 25
52 u00D4 rmb 3
53 u00D7 rmb 40
54 u00FF rmb 438
55 size equ .
56 name equ *
57 L000D fcs /Shell/
58 fcb $14
59 L0013 fcb $13
60 fcb $50 P
61 fcb $61 a
62 fcb $73 s
63 fcb $63 c
64 fcb $61 a
65 fcb $6C l
66 fcb $D3 S
67 fcb $25 %
68 fcb $52 R
69 fcb $75 u
70 fcb $6E n
71 fcb $C3 C
72 fcb $22 "
73 fcb $52 R
74 fcb $75 u
75 fcb $6E n
76 fcb $C2 B
77 fcb $00
78 fcb $00
79 fcb $00
80 fcb $00
81 fcb $00
82 fcb $00
83 fcb $00
84 fcb $00
85 fcb $00
86 L002E fcb $0A
87 fcb $53 S
88 fcb $68 h
89 fcb $65 e
90 fcb $6C l
91 fcb $6C l
92 fcb $0D
93 L0035 fcb $0A
94 L0036 fcb $4F O
95 fcb $53 S
96 fcb $39 9
97 fcb $3A :
98 L003A fcb $D7 W
99 fcb $0E
100 fcb $3B ;
101 start equ *
102 leas -$05,s
103 pshs y,x,b,a
104 ldb #$24
105 lbsr L00C9
106 leax <L003A,pcr
107 os9 F$Icpt
108 puls x,b,a
109 std <u0006
110 beq L005B
111 lbsr L0131
112 bcs L00BC
113 tst <u000C
114 bne L00BB
115 L005B lds ,s++
116 leax <L002E,pcr
117 tst <u000F
118 bne L0074
119 bsr L00BF
120 L0067 leax <L0035,pcr
121 ldy #$0005
122 L006E tst <u000F
123 bne L0074
124 bsr L00C3
125 L0074 clra
126 leax <u0025,u
127 ldy #$00C8
128 os9 I$ReadLn
129 bcc L008E
130 cmpb #$D3
131 beq L00B2
132 L0085 tst <u0011
133 bne L00BC
134 os9 F$PErr
135 bra L0067
136 L008E cmpy #$0001
137 bhi L009E
138 leax >L0036,pcr
139 ldy #$0004
140 bra L006E
141 L009E tst <u0010
142 beq L00A4
143 bsr L00BF
144 L00A4 lbsr L0131
145 bcc L0067
146 tstb
147 bne L0085
148 bra L0067
149 eim #$6F,$06,s
150 tst <u000D
151 clr <u0026
152 eim #$30,<u008C
153 bitb >$8D04
154 L00BB clrb
155 L00BC os9 F$Exit
156 L00BF ldy #$0050
157 L00C3 lda #$02
158 os9 I$WritLn
159 rts
160 L00C9 clr b,u
161 L00CB decb
162 bpl L00C9
163 rts
164 L00CF oim #$B7,<u00AA
165 aim #$89,<u00D7
166 oim #$93,<u0043
167 lsla
168 andb #$01
169 ora #$43
170 lsla
171 eorb <u0001
172 clrb
173 fcb $45 E
174 eorb <u0003
175 adcb <u004B
176 rola
177 inca
178 ldd #$0195
179 eorb <u0001
180 lda <u002D
181 eorb <u0001
182 jmp >$D001
183 jmp >$2DD0
184 oim #$7F,<u00D4
185 oim #$80,<u002D
186 andb <u0003
187 orb -u000D,u
188 fcb $45 E
189 lsrb
190 negb
191 sbcb <u0001
192 lsr <u00BB
193 neg <u0000
194 L010A com <u005E
195 cmpa $02,x
196 beq L00CB
197 aim #$3D,<u00A6
198 aim #$1A,<u008D
199 L0116 oim #$B8,<u003E
200 ldx >$01AF
201 cmpx >$01B8
202 ldx >$01EF
203 subd $00,x
204 neg <u000D
205 bvc L0151
206 stu >$0D21
207 bls L0153
208 rti
209 cwai #$3E
210 stu >$C60E
211 bsr L00C9
212 L0135 clr <u0003
213 clr <u000E
214 leay <L00CF,pcr
215 lbsr L01C3
216 bcs L0192
217 cmpa #$0D
218 beq L0192
219 sta <u000C
220 cmpa #$28
221 bne L016F
222 leay >L000D,pcr
223 sty <u0004
224 leax $01,x
225 stx <u0008
226 L0156 inc <u000D
227 L0158 leay <L0125,pcr
228 bsr L01DB
229 cmpa #$28
230 beq L0156
231 cmpa #$29
232 bne L018A
233 dec <u000D
234 bne L0158
235 lda #$0D
236 sta -$01,x
237 bra L0173
238 L016F bsr L0195
239 bcs L0192
240 L0173 leay <L0129,pcr
241 bsr L01DB
242 tfr x,d
243 subd <u0008
244 std <u0006
245 leax -$01,x
246 leay <L010A,pcr
247 bsr L01C3
248 bcs L0192
249 ldy <u0004
250 L018A lbne L02BE
251 cmpa #$0D
252 bne L0135
253 L0192 lbra L028F
254 L0195 stx <u0004
255 bsr L01A8
256 bcs L01A7
257 L019B bsr L01A8
258 bcc L019B
259 leay >L0116,pcr
260 bsr L01C3
261 stx <u0008
262 L01A7 rts
263 L01A8 os9 F$PrsNam
264 bcc L01B9
265 lda ,x+
266 cmpa #$2E
267 bne L01BD
268 cmpa ,x+
269 beq L01BB
270 leay -$01,x
271 L01B9 leax ,y
272 L01BB clra
273 rts
274 L01BD comb
275 leax -$01,x
276 ldb #$D7
277 rts
278 L01C3 bsr L01E9
279 pshs y
280 bsr L020C
281 bcs L01D4
282 ldd ,y
283 jsr d,y
284 puls y
285 bcc L01C3
286 rts
287 L01D4 clra
288 lda ,x
289 puls pc,y
290 L01D9 puls y
291 L01DB pshs y
292 lda ,x+
293 L01DF tst ,y
294 bmi L01D9
295 cmpa ,y+
296 bne L01DF
297 puls pc,y
298 L01E9 pshs x
299 lda ,x+
300 cmpa #$20
301 beq L01FF
302 cmpa #$2C
303 beq L01FF
304 leax >L0129,pcr
305 L01F9 cmpa ,x+
306 bhi L01F9
307 puls pc,x
308 L01FF leas $02,s
309 lda #$20
310 L0203 cmpa ,x+
311 beq L0203
312 leax -$01,x
313 andcc #$FE
314 rts
315 L020C pshs y,x
316 leay $02,y
317 L0210 ldx ,s
318 L0212 lda ,x+
319 cmpa #$61
320 bcs L021A
321 suba #$20
322 L021A eora ,y+
323 lsla
324 bne L022E
325 bcc L0212
326 lda -$01,y
327 cmpa #$C1
328 bcs L022B
329 bsr L01E9
330 bcs L022E
331 L022B clra
332 puls pc,y,b,a
333 L022E leay -$01,y
334 L0230 lda ,y+
335 bpl L0230
336 sty $02,s
337 ldd ,y++
338 bne L0210
339 comb
340 puls pc,y,x
341 lbsr L0195
342 clra
343 bsr L0260
344 bsr L025F
345 bsr L025F
346 bsr L0286
347 leax $01,x
348 tfr x,d
349 subd <u0008
350 std <u0006
351 leas >u00FF,u
352 lbsr L0394
353 os9 F$Chain
354 os9 F$Exit
355 L025F inca
356 L0260 pshs a
357 bra L02AB
358 lda #$84
359 bra L026A
360 lda #$83
361 L026A os9 I$ChgDir
362 rts
363 clra
364 bra L0273
365 lda #$01
366 L0273 sta <u000F
367 rts
368 lda #$01
369 bra L027B
370 clra
371 L027B sta <u0010
372 rts
373 lda #$01
374 bra L0283
375 clra
376 L0283 sta <u0011
377 rts
378 L0286 lda #$0D
379 L0288 cmpa ,x+
380 bne L0288
381 cmpa ,-x
382 rts
383 L028F pshs b,a,cc
384 clra
385 L0292 bsr L029D
386 inca
387 cmpa #$02
388 bls L0292
389 ror ,s+
390 puls pc,b,a
391 L029D pshs a
392 tst a,u
393 beq L02B6
394 os9 I$Close
395 lda a,u
396 os9 I$Dup
397 L02AB ldb ,s
398 lda b,u
399 beq L02B6
400 clr b,u
401 os9 I$Close
402 L02B6 puls pc,a
403 L02B8 asrb
404 lsla
405 fcb $41 A
406 lsrb
407 swi
408 fcb $0D
409 L02BE bsr L028F
410 leax <L02B8,pcr
411 lbsr L00BF
412 clrb
413 coma
414 rts
415 L02C9 ldd #$0001
416 bra L02E3
417 ldd #$020D
418 stb -$02,x
419 bra L02D7
420 lda #$01
421 L02D7 ldb #$02
422 bra L02E3
423 tst a,u
424 bne L02BE
425 pshs b,a
426 bra L02ED
427 L02E3 tst a,u
428 bne L02BE
429 pshs b,a
430 ldb #$0D
431 stb -$01,x
432 L02ED os9 I$Dup
433 bcs L030D
434 ldb ,s
435 sta b,u
436 lda ,s
437 os9 I$Close
438 lda $01,s
439 bita #$02
440 bne L0306
441 os9 I$Open
442 bra L030B
443 L0306 ldb #$0B
444 os9 I$Create
445 L030B stb $01,s
446 L030D puls pc,b,a
447 ldb #$0D
448 stb -$01,x
449 ldb <u0003
450 bne L02BE
451 lbsr L04CA
452 eora #$4B
453 anda #$DF
454 bne L0328
455 leax $01,x
456 lda #$04
457 mul
458 tsta
459 bne L02BE
460 L0328 stb <u0003
461 lbra L01E9
462 leax -$01,x
463 lbsr L03C7
464 bra L0337
465 lbsr L03C3
466 L0337 bcs L034A
467 lbsr L028F
468 bsr L035C
469 L033E bcs L034A
470 lbsr L01E9
471 cmpa #$0D
472 bne L0349
473 leas $04,s
474 L0349 clrb
475 L034A lbra L028F
476 lbsr L03C3
477 bcs L034A
478 bsr L034A
479 ldb #$26
480 lbsr L0495
481 bra L033E
482 clra
483 L035C pshs a
484 L035E os9 F$Wait
485 tst <u000E
486 beq L0376
487 ldb <u000E
488 cmpb #$02
489 bne L038E
490 lda ,s
491 beq L038E
492 os9 F$Send
493 clr ,s
494 bra L035E
495 L0376 bcs L0392
496 cmpa ,s
497 beq L038E
498 tst ,s
499 beq L0383
500 tstb
501 beq L035E
502 L0383 pshs b
503 bsr L034A
504 ldb #$2D
505 lbsr L0495
506 puls b
507 L038E tstb
508 beq L0392
509 coma
510 L0392 puls pc,a
511 L0394 lda #$11
512 ldb <u0003
513 ldx <u0004
514 ldy <u0006
515 ldu <u0008
516 rts
517 L03A0 lda #$04
518 os9 I$Open
519 bcs L03FE
520 leax <u0013,u
521 ldy #$000D
522 os9 I$Read
523 pshs b,cc
524 os9 I$Close
525 puls b,cc
526 lbcs L045F
527 lda $06,x
528 ldy $0B,x
529 bra L03D7
530 L03C3 lda #$0D
531 sta -$01,x
532 L03C7 pshs u,y,x
533 clra
534 ldx <u0004
535 os9 F$Link
536 bcs L03A0
537 ldy u000B,u
538 os9 F$UnLink
539 L03D7 cmpa #$11
540 beq L0425
541 sty <u000A
542 leax >L0013,pcr
543 L03E2 tst ,x
544 beq L045D
545 cmpa ,x+
546 beq L03F0
547 L03EA tst ,x+
548 bpl L03EA
549 bra L03E2
550 L03F0 ldd <u0008
551 subd <u0004
552 addd <u0006
553 std <u0006
554 ldd <u0004
555 std <u0008
556 bra L0423
557 L03FE ldx <u0006
558 leax $05,x
559 stx <u0006
560 ldx <u0004
561 ldu $04,s
562 lbsr L02C9
563 bcs L045F
564 ldu <u0008
565 ldd #$5820
566 std ,--u
567 ldd #$5020
568 std ,--u
569 ldb #$2D
570 stb ,-u
571 stu <u0008
572 leax >L000D,pcr
573 L0423 stx <u0004
574 L0425 ldx <u0004
575 lda #$11
576 os9 F$Link
577 bcc L0433
578 os9 F$Load
579 bcs L045F
580 L0433 pshs u
581 tst <u0003
582 bne L0442
583 ldd u000B,u
584 addd <u000A
585 addd #$00FF
586 sta <u0003
587 L0442 lbsr L0394
588 os9 F$Fork
589 puls u
590 pshs b,cc
591 bcs L0454
592 ldx #$0001
593 os9 F$Sleep
594 L0454 clr <u0004
595 clr <u0005
596 os9 F$UnLink
597 puls pc,u,y,x,b,cc
598 L045D ldb #$EA
599 L045F coma
600 puls pc,u,y,x
601 ble L04D4
602 rol -$10,s
603 eim #$0D,-$0C,y
604 addr a,0
605 bitb >$CC01
606 com <u0017
607 ldu >$6835
608 lbcs L568F
609 stu >$4925
610 tsta
611 lda ,u
612 bne L0487
613 os9 I$Dup
614 bcs L04C9
615 sta ,u
616 L0487 clra
617 os9 I$Close
618 lda #$01
619 os9 I$Dup
620 lda #$01
621 lbra L029D
622 L0495 pshs y,x,b,a
623 pshs y,x,b
624 leax $01,s
625 ldb #$2F
626 L049D incb
627 suba #$64
628 bcc L049D
629 stb ,x+
630 ldb #$3A
631 L04A6 decb
632 adda #$0A
633 bcc L04A6
634 stb ,x+
635 adda #$30
636 ldb #$0D
637 std ,x
638 leax ,s
639 lbsr L00BF
640 leas $05,s
641 puls pc,y,x,b,a
642 bsr L04CA
643 cmpb #$02
644 bcs L04E5
645 tfr b,a
646 ldb #$00
647 os9 F$Send
648 L04C9 rts
649 L04CA clrb
650 L04CB lda ,x+
651 suba #$30
652 cmpa #$09
653 bhi L04DC
654 pshs a
655 lda #$0A
656 mul
657 addb ,s+
658 bcc L04CB
659 L04DC lda ,-x
660 bcs L04E3
661 tstb
662 bne L04C9
663 L04E3 leas $02,s
664 L04E5 lbra L02BE
665 bsr L04CA
666 stb <u0012
667 lbsr L01E9
668 bsr L04CA
669 lda <u0012
670 os9 F$SPrior
671 rts
672 emod
673 eom equ *