📄 main.lst
字号:
99 int count;
100 char fileName[10]="12345";
\ 000000E8 06A8 ADD R0,SP,#+24
\ 000000EA 6649 LDR R1,??menu_1+0x30 ;; `?<Constant "12345">`
\ 000000EC 0A68 LDR R2,[R1, #0]
\ 000000EE 0260 STR R2,[R0, #0]
\ 000000F0 4A68 LDR R2,[R1, #+4]
\ 000000F2 4260 STR R2,[R0, #+4]
\ 000000F4 8A68 LDR R2,[R1, #+8]
\ 000000F6 8260 STR R2,[R0, #+8]
101 char FileBuff[256];
102 char Size[10]="512";
\ 000000F8 02A8 ADD R0,SP,#+8
\ 000000FA 6349 LDR R1,??menu_1+0x34 ;; `?<Constant "512">`
\ 000000FC 0A68 LDR R2,[R1, #0]
\ 000000FE 0260 STR R2,[R0, #0]
\ 00000100 4A68 LDR R2,[R1, #+4]
\ 00000102 4260 STR R2,[R0, #+4]
\ 00000104 8A68 LDR R2,[R1, #+8]
\ 00000106 8260 STR R2,[R0, #+8]
103 char i;
104
105 TRACE_INFO( "file <FileName> <Si");
\ 00000108 6049 LDR R1,??menu_1+0x38 ;; `?<Constant "">` + 140
\ 0000010A 201C MOV R0,R4
\ 0000010C ........ _BLF fprintf,??fprintf??rT
106 TRACE_INFO( "ze>\n\rEnter name: ");
\ 00000110 5F49 LDR R1,??menu_1+0x3C ;; `?<Constant "">` + 160
\ 00000112 201C MOV R0,R4
\ 00000114 ........ _BLF fprintf,??fprintf??rT
107 //AT91F_DBGU_scanf(fileName);
108
109 TRACE_INFO( "\n\r");
\ 00000118 391C MOV R1,R7
\ 0000011A 201C MOV R0,R4
\ 0000011C ........ _BLF fprintf,??fprintf??rT
110
111 TRACE_INFO( "File size: ");
\ 00000120 5C49 LDR R1,??menu_1+0x40 ;; `?<Constant "">` + 180
\ 00000122 201C MOV R0,R4
\ 00000124 ........ _BLF fprintf,??fprintf??rT
112 //AT91F_DBGU_scanf(Size );
113 TRACE_INFO( "\n\r");
\ 00000128 391C MOV R1,R7
\ 0000012A 201C MOV R0,R4
\ 0000012C ........ _BLF fprintf,??fprintf??rT
114
115 i=0;
\ 00000130 301C MOV R0,R6
\ 00000132 0A22 MOV R2,#+10
\ 00000134 03E0 B ??menu_15
116 while( (Size[i] != '\0') && (i != sizeof(Size)) )
117 {
118 if( (Size[i]>='0') && (Size[i]<='9') )
119 {
120 ulSize *=10;
121 ulSize += ((unsigned int) Size[i] - '0'); // convert ASCII to INT
\ ??menu_16:
\ 00000136 5543 MUL R5,R2
\ 00000138 4D19 ADD R5,R1,R5
\ 0000013A 303D SUB R5,#+48
122 i++;
\ 0000013C 401C ADD R0,R0,#+1
123 }
\ ??menu_15:
\ 0000013E 02A9 ADD R1,SP,#+8
\ 00000140 095C LDRB R1,[R1, R0]
\ 00000142 0029 CMP R1,#+0
\ 00000144 05D0 BEQ ??menu_17
\ 00000146 0A28 CMP R0,#+10
\ 00000148 03D0 BEQ ??menu_17
\ 0000014A 3029 CMP R1,#+48
\ 0000014C 01D3 BCC ??menu_17
\ 0000014E 3A29 CMP R1,#+58
\ 00000150 F1D3 BCC ??menu_16
124 else
125 {
126 break;
127 }
128 }
129
130 // Fill buffer
131 for (count=0; count < sizeof(FileBuff); count++)
\ ??menu_17:
\ 00000152 0020 MOV R0,#+0
\ 00000154 311C MOV R1,R6
132 {
133 FileBuff[count] = (unsigned char)count;
\ ??menu_18:
\ 00000156 09AA ADD R2,SP,#+36
\ 00000158 5154 STRB R1,[R2, R1]
134 }
\ 0000015A 491C ADD R1,R1,#+1
\ 0000015C 8022 MOV R2,#+128
\ 0000015E 5200 LSL R2,R2,#+1 ;; #+256
\ 00000160 9142 CMP R1,R2
\ 00000162 F8D3 BCC ??menu_18
135
136 // Write parts of file
137 for (count=0;count<ulSize / sizeof(FileBuff); count++)
\ 00000164 0190 STR R0,[SP, #+4]
\ 00000166 8027 MOV R7,#+128
\ 00000168 3F06 LSL R7,R7,#+24 ;; #-2147483648
\ 0000016A 0CE0 B ??menu_19
138 {
139 status = BFSA_write( fileName, (char*)FileBuff, sizeof(FileBuff), count );
\ ??menu_20:
\ 0000016C 0306 LSL R3,R0,#+24
\ 0000016E 1B0E LSR R3,R3,#+24
\ 00000170 FA0D LSR R2,R7,#+23
\ 00000172 09A9 ADD R1,SP,#+36
\ 00000174 06A8 ADD R0,SP,#+24
\ 00000176 ........ _BLF BFSA_write,??BFSA_write??rT
\ 0000017A 061C MOV R6,R0
140 if( BFSA_FAILURE(status) )
\ 0000017C 3842 TST R0,R7
\ 0000017E 60D1 BNE ??menu_11
141 {
142 goto FAILURE;
143 }
144 }
\ 00000180 0198 LDR R0,[SP, #+4]
\ 00000182 401C ADD R0,R0,#+1
\ 00000184 0190 STR R0,[SP, #+4]
\ ??menu_19:
\ 00000186 0198 LDR R0,[SP, #+4]
\ 00000188 290A LSR R1,R5,#+8
\ 0000018A 8842 CMP R0,R1
\ 0000018C EED3 BCC ??menu_20
145
146 // Write end of file
147 if (ulSize % sizeof( FileBuff) )
\ 0000018E 2806 LSL R0,R5,#+24
\ 00000190 A4D0 BEQ ??menu_13
148 {
149 status = BFSA_write( fileName, (char*)FileBuff, ulSize % sizeof(FileBuff), ulSize / sizeof(FileBuff) );
\ 00000192 2B0A LSR R3,R5,#+8
\ 00000194 1B06 LSL R3,R3,#+24
\ 00000196 1B0E LSR R3,R3,#+24
\ 00000198 2A06 LSL R2,R5,#+24
\ 0000019A 120E LSR R2,R2,#+24
\ 0000019C 09A9 ADD R1,SP,#+36
\ 0000019E 06A8 ADD R0,SP,#+24
\ 000001A0 ........ _BLF BFSA_write,??BFSA_write??rT
\ 000001A4 061C MOV R6,R0
150 if( BFSA_FAILURE(status) )
\ 000001A6 3842 TST R0,R7
\ 000001A8 4BD1 BNE ??menu_11
151 {
152 goto FAILURE;
153 }
154 }
155 status = BFSA_SUCCESS;
156 TRACE_INFO( "OK\n\r");
\ 000001AA 97E7 B ??menu_13
157 }
158 break;
159
160 case '4': // dir
161 {
162 status = BFSA_dir();
\ ??menu_5:
\ 000001AC ........ _BLF BFSA_dir,??BFSA_dir??rT
\ ??menu_21:
\ 000001B0 061C MOV R6,R0
163 if( BFSA_SUCCESS != status )
\ 000001B2 46D1 BNE ??menu_11
164 {
165 goto FAILURE;
166 }
167 TRACE_INFO( "OK\n\r");
\ 000001B4 0099 LDR R1,[SP, #+0]
\ 000001B6 201C MOV R0,R4
\ 000001B8 ........ _BLF fprintf,??fprintf??rT
\ 000001BC 48E0 B ??menu_14
168 }
169 break;
170
171 case '5': // cd
172 {
173 char dirName[10]="";
\ ??menu_6:
\ 000001BE 02A8 ADD R0,SP,#+8
\ 000001C0 0660 STR R6,[R0, #0]
\ 000001C2 4660 STR R6,[R0, #+4]
\ 000001C4 8660 STR R6,[R0, #+8]
174
175 TRACE_INFO( "cd <DirName> \n\r");
\ 000001C6 3449 LDR R1,??menu_1+0x44 ;; `?<Constant "">` + 192
\ 000001C8 201C MOV R0,R4
\ 000001CA ........ _BLF fprintf,??fprintf??rT
176 TRACE_INFO( "Enter name: ");
\ 000001CE 2C49 LDR R1,??menu_1+0x2C ;; `?<Constant "">` + 116
\ 000001D0 201C MOV R0,R4
\ 000001D2 ........ _BLF fprintf,??fprintf??rT
177 AT91F_DBGU_scanf(dirName);
\ 000001D6 02A8 ADD R0,SP,#+8
\ 000001D8 ........ _BLF AT91F_DBGU_scanf,??AT91F_DBGU_scanf??rT
178 TRACE_INFO( "\n\r");
\ 000001DC 391C MOV R1,R7
\ 000001DE 201C MOV R0,R4
\ 000001E0 ........ _BLF fprintf,??fprintf??rT
179
180 status = BFSA_cd(dirName);
\ 000001E4 02A8 ADD R0,SP,#+8
\ 000001E6 ........ _BLF BFSA_cd,??BFSA_cd??rT
\ 000001EA 061C MOV R6,R0
181 if( BFSA_SUCCESS != status )
\ 000001EC 29D1 BNE ??menu_11
182 {
183 goto FAILURE;
184 }
185 TRACE_INFO( "OK\n\r");
\ 000001EE 75E7 B ??menu_13
186 }
187 break;
188
189 case '6': // delete
190 {
191 char fileName[10]="";
\ ??menu_7:
\ 000001F0 02A8 ADD R0,SP,#+8
\ 000001F2 0660 STR R6,[R0, #0]
\ 000001F4 4660 STR R6,[R0, #+4]
\ 000001F6 8660 STR R6,[R0, #+8]
192
193 TRACE_INFO( "delete <FileName>");
\ 000001F8 2849 LDR R1,??menu_1+0x48 ;; `?<Constant "">` + 208
\ 000001FA 201C MOV R0,R4
\ 000001FC ........ _BLF fprintf,??fprintf??rT
194 TRACE_INFO( "\n\r Enter name: ");
\ 00000200 2749 LDR R1,??menu_1+0x4C ;; `?<Constant "">` + 228
\ 00000202 201C MOV R0,R4
\ 00000204 ........ _BLF fprintf,??fprintf??rT
195 AT91F_DBGU_scanf(fileName);
\ 00000208 02A8 ADD R0,SP,#+8
\ 0000020A ........ _BLF AT91F_DBGU_scanf,??AT91F_DBGU_scanf??rT
196 TRACE_INFO( "\n\r");
\ 0000020E 391C MOV R1,R7
\ 00000210 201C MOV R0,R4
\ 00000212 ........ _BLF fprintf,??fprintf??rT
197
198 status = BFSA_delete(fileName);
\ 00000216 02A8 ADD R0,SP,#+8
\ 00000218 ........ _BLF BFSA_delete,??BFSA_delete??rT
\ 0000021C C8E7 B ??menu_21
199 if( BFSA_SUCCESS != status )
200 {
201 goto FAILURE;
202 }
203 TRACE_INFO( "OK\n\r");
204 }
205 break;
206
207 case '7': // Init
208 {
209 status = BFSA_init();
\ ??menu_8:
\ 0000021E ........ _BLF BFSA_init,??BFSA_init??rT
\ 00000222 061C MOV R6,R0
210 if( BFSA_SUCCESS != status )
\ 00000224 0DD1 BNE ??menu_11
211 {
212 goto FAILURE;
213 }
214 TRACE_INFO( "OK\n\r");
\ 00000226 59E7 B ??menu_13
215 }
216 break;
217
218 case 'F': // Format
219 {
220 status = BFSA_format();
\ ??menu_9:
\ 00000228 ........ _BLF BFSA_format,??BFSA_format??rT
\ 0000022C 061C MOV R6,R0
221 if( BFSA_SUCCESS != status )
\ 0000022E 08D1 BNE ??menu_11
222 {
223 goto FAILURE;
224 }
225 status = BFSA_init();
\ 00000230 ........ _BLF BFSA_init,??BFSA_init??rT
\ 00000234 061C MOV R6,R0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -