31
|
1 ********************************************************************
|
|
2 * Rename - Rename a file
|
|
3 *
|
|
4 * $Id: rename.asm,v 1.1.1.1 2001/02/21 23:30:54 boisy Exp $
|
|
5 *
|
|
6 * Ed. Comments Who YY/MM/DD
|
|
7 * ------------------------------------------------------------------
|
|
8 * 6 Original Tandy/Microware version
|
|
9
|
|
10 nam Rename
|
|
11 ttl Rename a file
|
|
12
|
|
13 * Disassembled 98/09/11 01:35:46 by Disasm v1.6 (C) 1988 by RML
|
|
14
|
|
15 ifp1
|
|
16 use defsfile
|
|
17 endc
|
|
18
|
|
19 tylg set Prgrm+Objct
|
|
20 atrv set ReEnt+rev
|
|
21 rev set $01
|
|
22 edition set 6
|
|
23
|
|
24 mod eom,name,tylg,atrv,start,size
|
|
25
|
|
26 u0000 rmb 1
|
|
27 u0001 rmb 1
|
|
28 u0002 rmb 2
|
|
29 u0004 rmb 1
|
|
30 u0005 rmb 2
|
|
31 u0007 rmb 1
|
|
32 u0008 rmb 24
|
|
33 u0020 rmb 26
|
|
34 u003A rmb 2
|
|
35 u003C rmb 405
|
|
36 size equ .
|
|
37
|
|
38 name fcs /Rename/
|
|
39 fcb edition
|
|
40
|
|
41 start cmpd #$0004
|
|
42 lbcs L00A8
|
|
43 stx <u0000
|
|
44 lda #WRITE.
|
|
45 os9 I$Open
|
|
46 bcc L0032
|
|
47 cmpb #E$FNA
|
|
48 bne L00A5
|
|
49 ldx <u0000
|
|
50 lda #DIR.+WRITE.
|
|
51 os9 I$Open
|
|
52 bcs L00A5
|
|
53 L0032 stx <u0005
|
|
54 ldb #$00
|
|
55 leax <u0020,u
|
|
56 os9 I$GetStt
|
|
57 bcs L00A5
|
|
58 os9 I$Close
|
|
59 bcs L00A5
|
|
60 ldb <u0020
|
|
61 cmpb #$01
|
|
62 bne L00A8
|
|
63 bsr L00AE
|
|
64 bcs L00A5
|
|
65 ldx <u0002
|
|
66 lda #C$CR
|
|
67 sta -1,x
|
|
68 ldx <u0000
|
|
69 lda #$03
|
|
70 os9 I$ChgDir
|
|
71 bcs L00A5
|
|
72 ldx <u0005
|
|
73 ldb <u0008
|
|
74 decb
|
|
75 lda b,x
|
|
76 ora #$80
|
|
77 sta b,x
|
|
78 incb
|
|
79 cmpb <u0004
|
|
80 bne L0075
|
|
81 leay ,x
|
|
82 ldx <u0002
|
|
83 os9 F$CmpNam
|
|
84 bcc L0082
|
|
85 L0075 ldx <u0005
|
|
86 lda #READ.
|
|
87 os9 I$Open
|
|
88 bcc L00A8
|
|
89 cmpb #E$PNNF
|
|
90 bne L00A8
|
|
91 L0082 leax <L00AC,pcr
|
|
92 lda #DIR.!UPDAT.
|
|
93 os9 I$Open
|
|
94 bcs L00A5
|
|
95 ldx <u003A
|
|
96 ldu <u003C
|
|
97 os9 I$Seek
|
|
98 bcs L00A5
|
|
99 ldx <u0005
|
|
100 ldy <u0007
|
|
101 os9 I$Write
|
|
102 bcs L00A5
|
|
103 os9 I$Close
|
|
104 bcs L00A5
|
|
105 clrb
|
|
106 L00A5 os9 F$Exit
|
|
107 L00A8 ldb #E$BPNam
|
|
108 bra L00A5
|
|
109 L00AC fdb $2EFE
|
|
110 L00AE ldx <u0000
|
|
111 bsr L00F6
|
|
112 ldu <u0000
|
|
113 lda ,u
|
|
114 cmpa #PDELIM
|
|
115 beq L00C7
|
|
116 lda ,y
|
|
117 cmpa #PDELIM
|
|
118 beq L00C7
|
|
119 leau <L00AC,pcr
|
|
120 stu <u0000
|
|
121 bra L00CD
|
|
122 L00C7 leax ,y
|
|
123 bsr L00F6
|
|
124 bcs L00F2
|
|
125 L00CD stx <u0002
|
|
126 stb <u0004
|
|
127 leax ,y
|
|
128 bsr L00F6
|
|
129 bcc L00CD
|
|
130 ldb <u0004
|
|
131 beq L00F2
|
|
132 ldx <u0005
|
|
133 os9 F$PrsNam
|
|
134 bcs L00F2
|
|
135 lda ,y
|
|
136 cmpa #PDELIM
|
|
137 beq L00F2
|
|
138 cmpb #$1E
|
|
139 bcc L00F2
|
|
140 stx <u0005
|
|
141 clra
|
|
142 std <u0007
|
|
143 rts
|
|
144 L00F2 comb
|
|
145 ldb #E$BPNam
|
|
146 rts
|
|
147 L00F6 os9 F$PrsNam
|
|
148 bcc L0119
|
|
149 clrb
|
|
150 leau ,x
|
|
151 L00FE lda ,u+
|
|
152 bpl L0107
|
|
153 incb
|
|
154 cmpa #$AE
|
|
155 bne L010C
|
|
156 L0107 incb
|
|
157 cmpa #C$PERD
|
|
158 beq L00FE
|
|
159 L010C decb
|
|
160 beq L0118
|
|
161 leay -u0001,u
|
|
162 cmpb #$03
|
|
163 bcc L0118
|
|
164 clrb
|
|
165 bra L0119
|
|
166 L0118 coma
|
|
167 L0119 rts
|
|
168
|
|
169 emod
|
|
170 eom equ *
|
|
171 end
|
|
172
|