annotate level1/cmds/makdir.asm @ 1325:84ea83668304

Redid comments, reset all rev nibbles that weren't explictly set to 0
author boisy
date Thu, 04 Sep 2003 23:06:16 +0000
parents c155aac72190
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1 ********************************************************************
662
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
2 * MakDir - Create directory file
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
3 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
4 * $Id$
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
5 *
1325
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 924
diff changeset
6 * Edt/Rev YYYY/MM/DD Modified by
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 924
diff changeset
7 * Comment
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
8 * ------------------------------------------------------------------
1325
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 924
diff changeset
9 * 4 ????/??/??
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 924
diff changeset
10 * From Tandy OS-9 Level One VR 02.00.00.
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 924
diff changeset
11 *
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 924
diff changeset
12 * 5 ????/??/?? Alan DeKok
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 924
diff changeset
13 * Makes multiple directories from a single pathlist.
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
14
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
15 nam Makdir
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
16 ttl Create directory file
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
17
662
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
18 * Disassembled 94/12/08 21:42:56 by Alan DeKok
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
19
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
20 ifp1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
21 use defsfile
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
22 endc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
23
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
24 tylg set Prgrm+Objct
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
25 atrv set ReEnt+rev
1325
84ea83668304 Redid comments, reset all rev nibbles that weren't explictly set to 0
boisy
parents: 924
diff changeset
26 rev set $00
662
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
27 edition set 5
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
28
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
29 mod eom,name,tylg,atrv,start,size
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
30
924
c155aac72190 Made cosmetic changes
boisy
parents: 662
diff changeset
31 org 0
c155aac72190 Made cosmetic changes
boisy
parents: 662
diff changeset
32 param rmb 2 parameter area
c155aac72190 Made cosmetic changes
boisy
parents: 662
diff changeset
33 mflag rmb 1 made a directory yet from this pathlist?
662
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
34 rmb 200 stack space
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
35 size equ .
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
36
662
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
37 name fcs /MakDir/
200
e9ce43cc215e Made major changes to headers for consistency and identification
boisy
parents: 0
diff changeset
38 fcb edition
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
39
662
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
40 Sk.1 leax 1,x go on to the next character
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
41 Skip lda ,x get a character
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
42 cmpa #C$SPAC space?
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
43 beq Sk.1 if so, skip it
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
44 rts
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
45
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
46 * Any pathnames at all?
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
47 * Exit with error if none
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
48 Start bsr Skip skip the first bit, if applicable
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
49 cmpa #C$SPAC is it a CR?
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
50 bne start2 no, go ahead and make directories
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
51 comb set carry
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
52 ldb #E$BPNam a CR is a bad pathname...
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
53 bra Exit and go exit
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
54
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
55 * skip leading spaces or '/' and setup pointers
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
56 start1 bsr Skip skip any non-zero characters, if applicable
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
57 start2 ldb #$FF a non-zero value
924
c155aac72190 Made cosmetic changes
boisy
parents: 662
diff changeset
58 stb <mflag we haven't made a directory from this pathname yet
c155aac72190 Made cosmetic changes
boisy
parents: 662
diff changeset
59 stx <param save in the parameter area
662
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
60 cmpa #PDELIM leading slash?
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
61 bne S.020 if not, go get the name
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
62
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
63 * find the pseudo-end of the pathname, stopping at space, cr, '/'
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
64 S.010 leax 1,x
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
65 S.020 lda ,x
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
66 cmpa #C$SPAC space?
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
67 beq S.030
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
68 cmpa #C$CR cr?
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
69 beq S.030
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
70 cmpa #PDELIM slash?
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
71 bne S.010 if none of these, then skip this character
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
72
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
73 * force the pathname to be a subset of the full pathname
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
74 S.030 pshs a,x save byte found, where we found it
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
75 lda #C$CR force it to be a CR
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
76 sta ,x
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
77
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
78 *try to open it for reading, i.e. does it already exists?
924
c155aac72190 Made cosmetic changes
boisy
parents: 662
diff changeset
79 ldx <param get the start address of this pathname
662
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
80 lda #DIR.+READ. open the directory for reading
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
81 os9 I$Open check if the directory already exists
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
82 bcs S.040 if there was an error opening it, go make it
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
83 OS9 I$Close close the path to the file
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
84 bra S.050 skip making this directory
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
85
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
86 * The partial pathname doesn't exist, so create it
924
c155aac72190 Made cosmetic changes
boisy
parents: 662
diff changeset
87 S.040 ldx <param get the start address of this pathname
662
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
88 ldb #^SHARE. everything but SHARE.
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
89 os9 I$MakDir
662
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
90 bcs Error
924
c155aac72190 Made cosmetic changes
boisy
parents: 662
diff changeset
91 clr <mflag clear the flag: we've successfully made a directory
662
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
92
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
93 * make pathname full again, and continue
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
94 S.050 puls a,x restore byte, address
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
95 sta ,x restore it
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
96 cmpa #PDELIM was it a slash?
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
97 beq S.010 yes, make pathname full again, and find next one
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
98
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
99 * searched this pathname, have we made a directory from it?
924
c155aac72190 Made cosmetic changes
boisy
parents: 662
diff changeset
100 tst <mflag have we made a directory?
662
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
101 bne CEF if not, error out with fake E$CEF
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
102
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
103 * check for end/continue flag
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
104 cmpa #C$SPAC was it a space?
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
105 beq start1 yup, go get another pathname to create
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
106
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
107 ClnExit clrb no error
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
108 Exit OS9 F$Exit and exit
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
109
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
110 CEF comb set carry
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
111 ldb #E$CEF we've just tried to create an existing file
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
112 Error pshs b,cc save error code
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
113
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
114 lda #2 to STDERR
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
115 leax EMsg,pc to error found string
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
116 ldy #Elen
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
117 OS9 I$Write
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
118
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
119 ldx <param get pathname we're trying to open
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
120 ldy #200 a _very_ long pathname
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
121 OS9 I$WritLn we're sure that the name ends in a CR...
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
122 puls b,cc restore error code, condition
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
123 bra Exit
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
124
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
125 EMsg fcc /makdir: error creating /
1810b051d07e copy, display and makdir are now improved versions with enhanced
boisy
parents: 200
diff changeset
126 ELen equ *-EMsg
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
127
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
128 emod
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
129 eom equ *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
130 end