www.pudn.com > LPC1768_SD_Test.rar > sd_file.txt, change:2010-06-05,size:94726b


; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision 
; commandline ArmCC [--debug -c --asm --interleave -o.\Obj\sd_file.o --depend=.\Obj\sd_file.d --device=DARMP1 --apcs=interwork -O0 -IC:\Keil\ARM\INC\NXP --omf_browse=.\Obj\sd_file.crf SD_File.c] 
                          THUMB 
 
                          AREA ||.text||, CODE, READONLY, ALIGN=2 
 
                  get_entry PROC 
;;;86      *---------------------------------------------------------------------------*/ 
;;;87     static char *get_entry (char *cp, char **pNext) { 
000000  b530              PUSH     {r4,r5,lr} 
;;;88        char *sp, lfn = 0, sep_ch = ' '; 
000002  2300              MOVS     r3,#0 
000004  2420              MOVS     r4,#0x20 
;;;89      
;;;90        if (cp == NULL) {                          /* skip NULL pointers          */ 
000006  b908              CBNZ     r0,|L1.12| 
;;;91           *pNext = cp; 
000008  6008              STR      r0,[r1,#0] 
                  |L1.10| 
;;;92           return (cp); 
;;;93        } 
;;;94      
;;;95        for ( ; *cp == ' ' || *cp == '\"'; cp++) { /* skip blanks and starting  " */ 
;;;96           if (*cp == '\"') { sep_ch = '\"'; lfn = 1; } 
;;;97           *cp = 0; 
;;;98        } 
;;;99       
;;;100       for (sp = cp; *sp != CR && *sp != LF; sp++) { 
;;;101          if ( lfn && *sp == '\"') break; 
;;;102          if (!lfn && *sp == ' ' ) break; 
;;;103       } 
;;;104     
;;;105       for ( ; *sp == sep_ch || *sp == CR || *sp == LF; sp++) { 
;;;106          *sp = 0; 
;;;107          if ( lfn && *sp == sep_ch) { sp ++; break; } 
;;;108       } 
;;;109     
;;;110       *pNext = (*sp) ? sp : NULL;                /* next entry                  */ 
;;;111       return (cp); 
;;;112    } 
00000a  bd30              POP      {r4,r5,pc} 
                  |L1.12| 
00000c  e007              B        |L1.30| 
                  |L1.14| 
00000e  7805              LDRB     r5,[r0,#0]            ;96 
000010  2d22              CMP      r5,#0x22              ;96 
000012  d101              BNE      |L1.24| 
000014  2422              MOVS     r4,#0x22              ;96 
000016  2301              MOVS     r3,#1                 ;96 
                  |L1.24| 
000018  2500              MOVS     r5,#0                 ;97 
00001a  7005              STRB     r5,[r0,#0]            ;97 
00001c  1c40              ADDS     r0,r0,#1              ;95 
                  |L1.30| 
00001e  7805              LDRB     r5,[r0,#0]            ;95 
000020  2d20              CMP      r5,#0x20              ;95 
000022  d0f4              BEQ      |L1.14| 
000024  7805              LDRB     r5,[r0,#0]            ;95 
000026  2d22              CMP      r5,#0x22              ;95 
000028  d0f1              BEQ      |L1.14| 
00002a  4602              MOV      r2,r0                 ;100 
00002c  e00a              B        |L1.68| 
                  |L1.46| 
00002e  b11b              CBZ      r3,|L1.56| 
000030  7815              LDRB     r5,[r2,#0]            ;101 
000032  2d22              CMP      r5,#0x22              ;101 
000034  d100              BNE      |L1.56| 
000036  e00b              B        |L1.80| 
                  |L1.56| 
000038  b91b              CBNZ     r3,|L1.66| 
00003a  7815              LDRB     r5,[r2,#0]            ;102 
00003c  2d20              CMP      r5,#0x20              ;102 
00003e  d100              BNE      |L1.66| 
000040  e006              B        |L1.80| 
                  |L1.66| 
000042  1c52              ADDS     r2,r2,#1              ;100 
                  |L1.68| 
000044  7815              LDRB     r5,[r2,#0]            ;100 
000046  2d0d              CMP      r5,#0xd               ;100 
000048  d002              BEQ      |L1.80| 
00004a  7815              LDRB     r5,[r2,#0]            ;100 
00004c  2d0a              CMP      r5,#0xa               ;100 
00004e  d1ee              BNE      |L1.46| 
                  |L1.80| 
000050  bf00              NOP                            ;101 
000052  e008              B        |L1.102| 
                  |L1.84| 
000054  2500              MOVS     r5,#0                 ;106 
000056  7015              STRB     r5,[r2,#0]            ;106 
000058  b123              CBZ      r3,|L1.100| 
00005a  7815              LDRB     r5,[r2,#0]            ;107 
00005c  42a5              CMP      r5,r4                 ;107 
00005e  d101              BNE      |L1.100| 
000060  1c52              ADDS     r2,r2,#1              ;107 
000062  e009              B        |L1.120| 
                  |L1.100| 
000064  1c52              ADDS     r2,r2,#1              ;105 
                  |L1.102| 
000066  7815              LDRB     r5,[r2,#0]            ;105 
000068  42a5              CMP      r5,r4                 ;105 
00006a  d0f3              BEQ      |L1.84| 
00006c  7815              LDRB     r5,[r2,#0]            ;105 
00006e  2d0d              CMP      r5,#0xd               ;105 
000070  d0f0              BEQ      |L1.84| 
000072  7815              LDRB     r5,[r2,#0]            ;105 
000074  2d0a              CMP      r5,#0xa               ;105 
000076  d0ed              BEQ      |L1.84| 
                  |L1.120| 
000078  bf00              NOP                            ;107 
00007a  7815              LDRB     r5,[r2,#0]            ;110 
00007c  b10d              CBZ      r5,|L1.130| 
00007e  4615              MOV      r5,r2                 ;110 
000080  e000              B        |L1.132| 
                  |L1.130| 
000082  2500              MOVS     r5,#0                 ;110 
                  |L1.132| 
000084  600d              STR      r5,[r1,#0]            ;110 
000086  e7c0              B        |L1.10| 
;;;113     
                          ENDP 
 
                  dot_format PROC 
;;;116     *---------------------------------------------------------------------------*/ 
;;;117    static void dot_format (U32 val, char *sp) { 
000088  e92d41f0          PUSH     {r4-r8,lr} 
00008c  4604              MOV      r4,r0 
00008e  460d              MOV      r5,r1 
;;;118     
;;;119       if (val >= (U32)1e9) { 
000090  48ff              LDR      r0,|L1.1168| 
000092  4284              CMP      r4,r0 
000094  d32a              BCC      |L1.236| 
;;;120          sp += sprintf (sp,"%d.",val/(U32)1e9); 
000096  fbb4f6f0          UDIV     r6,r4,r0 
00009a  4632              MOV      r2,r6 
00009c  a1fd              ADR      r1,|L1.1172| 
00009e  4628              MOV      r0,r5 
0000a0  f7fffffe          BL       __2sprintf 
0000a4  4405              ADD      r5,r5,r0 
;;;121          val %= (U32)1e9; 
0000a6  48fa              LDR      r0,|L1.1168| 
0000a8  fbb4f1f0          UDIV     r1,r4,r0 
0000ac  fb004411          MLS      r4,r0,r1,r4 
;;;122          sp += sprintf (sp,"%03d.",val/(U32)1e6); 
0000b0  48f9              LDR      r0,|L1.1176| 
0000b2  fbb4f6f0          UDIV     r6,r4,r0 
0000b6  4632              MOV      r2,r6 
0000b8  a1f8              ADR      r1,|L1.1180| 
0000ba  4628              MOV      r0,r5 
0000bc  f7fffffe          BL       __2sprintf 
0000c0  4405              ADD      r5,r5,r0 
;;;123          val %= (U32)1e6; 
0000c2  48f5              LDR      r0,|L1.1176| 
0000c4  fbb4f1f0          UDIV     r1,r4,r0 
0000c8  fb004411          MLS      r4,r0,r1,r4 
;;;124          sprintf (sp,"%03d.%03d",val/1000,val%1000); 
0000cc  f44f707a          MOV      r0,#0x3e8 
0000d0  fbb4f1f0          UDIV     r1,r4,r0 
0000d4  fb004611          MLS      r6,r0,r1,r4 
0000d8  fbb4f7f0          UDIV     r7,r4,r0 
0000dc  4633              MOV      r3,r6 
0000de  463a              MOV      r2,r7 
0000e0  a1f0              ADR      r1,|L1.1188| 
0000e2  4628              MOV      r0,r5 
0000e4  f7fffffe          BL       __2sprintf 
                  |L1.232| 
;;;125          return; 
;;;126       } 
;;;127       if (val >= (U32)1e6) { 
;;;128          sp += sprintf (sp,"%d.",val/(U32)1e6); 
;;;129          val %= (U32)1e6; 
;;;130          sprintf (sp,"%03d.%03d",val/1000,val%1000); 
;;;131          return; 
;;;132       } 
;;;133       if (val >= 1000) { 
;;;134          sprintf (sp,"%d.%03d",val/1000,val%1000); 
;;;135          return; 
;;;136       } 
;;;137       sprintf (sp,"%d",val); 
;;;138    } 
0000e8  e8bd81f0          POP      {r4-r8,pc} 
                  |L1.236| 
0000ec  48ea              LDR      r0,|L1.1176| 
0000ee  4284              CMP      r4,r0                 ;127 
0000f0  d31b              BCC      |L1.298| 
0000f2  fbb4f6f0          UDIV     r6,r4,r0              ;128 
0000f6  4632              MOV      r2,r6                 ;128 
0000f8  a1e6              ADR      r1,|L1.1172| 
0000fa  4628              MOV      r0,r5                 ;128 
0000fc  f7fffffe          BL       __2sprintf 
000100  4405              ADD      r5,r5,r0              ;128 
000102  48e5              LDR      r0,|L1.1176| 
000104  fbb4f1f0          UDIV     r1,r4,r0              ;129 
000108  fb004411          MLS      r4,r0,r1,r4           ;129 
00010c  f44f707a          MOV      r0,#0x3e8             ;130 
000110  fbb4f1f0          UDIV     r1,r4,r0              ;130 
000114  fb004611          MLS      r6,r0,r1,r4           ;130 
000118  fbb4f7f0          UDIV     r7,r4,r0              ;130 
00011c  4633              MOV      r3,r6                 ;130 
00011e  463a              MOV      r2,r7                 ;130 
000120  a1e0              ADR      r1,|L1.1188| 
000122  4628              MOV      r0,r5                 ;130 
000124  f7fffffe          BL       __2sprintf 
000128  e7de              B        |L1.232| 
                  |L1.298| 
00012a  f5b47f7a          CMP      r4,#0x3e8             ;133 
00012e  d30e              BCC      |L1.334| 
000130  f44f707a          MOV      r0,#0x3e8             ;134 
000134  fbb4f1f0          UDIV     r1,r4,r0              ;134 
000138  fb004611          MLS      r6,r0,r1,r4           ;134 
00013c  fbb4f7f0          UDIV     r7,r4,r0              ;134 
000140  4633              MOV      r3,r6                 ;134 
000142  463a              MOV      r2,r7                 ;134 
000144  a1da              ADR      r1,|L1.1200| 
000146  4628              MOV      r0,r5                 ;134 
000148  f7fffffe          BL       __2sprintf 
00014c  e7cc              B        |L1.232| 
                  |L1.334| 
00014e  4622              MOV      r2,r4                 ;137 
000150  a1d9              ADR      r1,|L1.1208| 
000152  4628              MOV      r0,r5                 ;137 
000154  f7fffffe          BL       __2sprintf 
000158  e7c6              B        |L1.232| 
;;;139     
                          ENDP 
 
                  cmd_capture PROC 
;;;142     *---------------------------------------------------------------------------*/ 
;;;143    static void cmd_capture (char *par) { 
00015a  e92d43f8          PUSH     {r3-r9,lr} 
00015e  4605              MOV      r5,r0 
;;;144       char *fname,*next; 
;;;145       BOOL append,retv; 
;;;146       FILE *f; 
;;;147     
;;;148       fname = get_entry (par, &next); 
000160  4669              MOV      r1,sp 
000162  4628              MOV      r0,r5 
000164  f7fffffe          BL       get_entry 
000168  4606              MOV      r6,r0 
;;;149       if (fname == NULL) { 
00016a  b926              CBNZ     r6,|L1.374| 
;;;150          printf ("\nFilename missing.\n"); 
00016c  a0d3              ADR      r0,|L1.1212| 
00016e  f7fffffe          BL       __2printf 
                  |L1.370| 
;;;151          return; 
;;;152       } 
;;;153       append = __FALSE; 
;;;154       if (next) { 
;;;155          par = get_entry (next, &next); 
;;;156          if ((strcmp (par, "/A") == 0) ||(strcmp (par, "/a") == 0)) { 
;;;157             append = __TRUE; 
;;;158          } 
;;;159          else { 
;;;160             printf ("\nCommand error.\n"); 
;;;161             return; 
;;;162          } 
;;;163       } 
;;;164       printf ((append) ? "\nAppend data to file %s" : 
;;;165                          "\nCapture data to file %s", fname); 
;;;166       printf("\nPress ESC to stop.\n"); 
;;;167       f = fopen (fname,append ? "a" : "w");/* open a file for writing           */ 
;;;168       if (f == NULL) { 
;;;169          printf ("\nCan not open file!\n");/* error when trying to open file    */ 
;;;170          return; 
;;;171       }  
;;;172       do { 
;;;173          retv = getline (in_line, sizeof (in_line)); 
;;;174          fputs (in_line, f); 
;;;175       } while (retv == __TRUE); 
;;;176       fclose (f);                        /* close the output file               */ 
;;;177       printf ("\nFile closed.\n"); 
;;;178    } 
000172  e8bd83f8          POP      {r3-r9,pc} 
                  |L1.374| 
000176  2700              MOVS     r7,#0                 ;153 
000178  9800              LDR      r0,[sp,#0]            ;154 
00017a  b1a0              CBZ      r0,|L1.422| 
00017c  4669              MOV      r1,sp                 ;155 
00017e  9800              LDR      r0,[sp,#0]            ;155 
000180  f7fffffe          BL       get_entry 
000184  4605              MOV      r5,r0                 ;155 
000186  a1d2              ADR      r1,|L1.1232| 
000188  4628              MOV      r0,r5                 ;156 
00018a  f7fffffe          BL       strcmp 
00018e  b120              CBZ      r0,|L1.410| 
000190  a1d0              ADR      r1,|L1.1236| 
000192  4628              MOV      r0,r5                 ;156 
000194  f7fffffe          BL       strcmp 
000198  b908              CBNZ     r0,|L1.414| 
                  |L1.410| 
00019a  2701              MOVS     r7,#1                 ;157 
00019c  e003              B        |L1.422| 
                  |L1.414| 
00019e  a0ce              ADR      r0,|L1.1240| 
0001a0  f7fffffe          BL       __2printf 
0001a4  e7e5              B        |L1.370| 
                  |L1.422| 
0001a6  b10f              CBZ      r7,|L1.428| 
0001a8  a1d0              ADR      r1,|L1.1260| 
0001aa  e000              B        |L1.430| 
                  |L1.428| 
0001ac  a1d5              ADR      r1,|L1.1284| 
                  |L1.430| 
0001ae  4608              MOV      r0,r1                 ;165 
0001b0  4631              MOV      r1,r6                 ;165 
0001b2  f7fffffe          BL       __2printf 
0001b6  a0da              ADR      r0,|L1.1312| 
0001b8  f7fffffe          BL       __2printf 
0001bc  b10f              CBZ      r7,|L1.450| 
0001be  a0de              ADR      r0,|L1.1336| 
0001c0  e000              B        |L1.452| 
                  |L1.450| 
0001c2  a0de              ADR      r0,|L1.1340| 
                  |L1.452| 
0001c4  4601              MOV      r1,r0                 ;167 
0001c6  4630              MOV      r0,r6                 ;167 
0001c8  f7fffffe          BL       fopen 
0001cc  4604              MOV      r4,r0                 ;167 
0001ce  b91c              CBNZ     r4,|L1.472| 
0001d0  a0db              ADR      r0,|L1.1344| 
0001d2  f7fffffe          BL       __2printf 
0001d6  e7cc              B        |L1.370| 
                  |L1.472| 
0001d8  bf00              NOP                            ;172 
                  |L1.474| 
0001da  21a0              MOVS     r1,#0xa0              ;173 
0001dc  48de              LDR      r0,|L1.1368| 
0001de  f7fffffe          BL       getline 
0001e2  4680              MOV      r8,r0                 ;173 
0001e4  4621              MOV      r1,r4                 ;174 
0001e6  48dc              LDR      r0,|L1.1368| 
0001e8  f7fffffe          BL       fputs 
0001ec  f1b80f01          CMP      r8,#1                 ;175 
0001f0  d0f3              BEQ      |L1.474| 
0001f2  4620              MOV      r0,r4                 ;176 
0001f4  f7fffffe          BL       fclose 
0001f8  a0d8              ADR      r0,|L1.1372| 
0001fa  f7fffffe          BL       __2printf 
0001fe  e7b8              B        |L1.370| 
;;;179     
                          ENDP 
 
                  cmd_fill PROC 
;;;182     *---------------------------------------------------------------------------*/ 
;;;183    static void cmd_fill (char *par) { 
000200  e92d41fc          PUSH     {r2-r8,lr} 
000204  4604              MOV      r4,r0 
;;;184       char *fname, *next; 
;;;185       FILE *f; 
;;;186       int i,cnt = 1000; 
000206  f44f707a          MOV      r0,#0x3e8 
00020a  9000              STR      r0,[sp,#0] 
;;;187     
;;;188       fname = get_entry (par, &next); 
00020c  a901              ADD      r1,sp,#4 
00020e  4620              MOV      r0,r4 
000210  f7fffffe          BL       get_entry 
000214  4605              MOV      r5,r0 
;;;189       if (fname == NULL) { 
000216  b925              CBNZ     r5,|L1.546| 
;;;190          printf ("\nFilename missing.\n"); 
000218  a0a8              ADR      r0,|L1.1212| 
00021a  f7fffffe          BL       __2printf 
                  |L1.542| 
;;;191          return; 
;;;192       } 
;;;193       if (next) { 
;;;194          par = get_entry (next, &next); 
;;;195          if (sscanf (par,"%d", &cnt) == 0) { 
;;;196             printf ("\nCommand error.\n"); 
;;;197             return; 
;;;198          } 
;;;199       } 
;;;200     
;;;201       f = fopen (fname, "w");              /* open a file for writing           */ 
;;;202       if (f == NULL) { 
;;;203          printf ("\nCan not open file!\n");/* error when trying to open file    */ 
;;;204          return; 
;;;205       }  
;;;206       for (i = 0; i < cnt; i++)  { 
;;;207          fprintf (f, "This is line # %d in file %s\n", i, fname); 
;;;208       } 
;;;209       fclose (f);                        /* close the output file               */ 
;;;210       printf ("\nFile closed.\n"); 
;;;211    } 
00021e  e8bd81fc          POP      {r2-r8,pc} 
                  |L1.546| 
000222  9801              LDR      r0,[sp,#4]            ;193 
000224  b170              CBZ      r0,|L1.580| 
000226  a901              ADD      r1,sp,#4              ;194 
000228  9801              LDR      r0,[sp,#4]            ;194 
00022a  f7fffffe          BL       get_entry 
00022e  4604              MOV      r4,r0                 ;194 
000230  466a              MOV      r2,sp                 ;195 
000232  a1a1              ADR      r1,|L1.1208| 
000234  4620              MOV      r0,r4                 ;195 
000236  f7fffffe          BL       __0sscanf 
00023a  b918              CBNZ     r0,|L1.580| 
00023c  a0a6              ADR      r0,|L1.1240| 
00023e  f7fffffe          BL       __2printf 
000242  e7ec              B        |L1.542| 
                  |L1.580| 
000244  a1bd              ADR      r1,|L1.1340| 
000246  4628              MOV      r0,r5                 ;201 
000248  f7fffffe          BL       fopen 
00024c  4606              MOV      r6,r0                 ;201 
00024e  b91e              CBNZ     r6,|L1.600| 
000250  a0bb              ADR      r0,|L1.1344| 
000252  f7fffffe          BL       __2printf 
000256  e7e2              B        |L1.542| 
                  |L1.600| 
000258  2700              MOVS     r7,#0                 ;206 
00025a  e006              B        |L1.618| 
                  |L1.604| 
00025c  462b              MOV      r3,r5                 ;207 
00025e  463a              MOV      r2,r7                 ;207 
000260  a1c2              ADR      r1,|L1.1388| 
000262  4630              MOV      r0,r6                 ;207 
000264  f7fffffe          BL       __2fprintf 
000268  1c7f              ADDS     r7,r7,#1              ;206 
                  |L1.618| 
00026a  9800              LDR      r0,[sp,#0]            ;206 
00026c  4287              CMP      r7,r0                 ;206 
00026e  dbf5              BLT      |L1.604| 
000270  4630              MOV      r0,r6                 ;209 
000272  f7fffffe          BL       fclose 
000276  a0b9              ADR      r0,|L1.1372| 
000278  f7fffffe          BL       __2printf 
00027c  e7cf              B        |L1.542| 
;;;212     
                          ENDP 
 
                  cmd_type PROC 
;;;216     *---------------------------------------------------------------------------*/ 
;;;217    static void cmd_type (char *par) { 
00027e  b5f8              PUSH     {r3-r7,lr} 
000280  4604              MOV      r4,r0 
;;;218       char *fname,*next; 
;;;219       FILE *f; 
;;;220       int ch; 
;;;221     
;;;222       fname = get_entry (par, &next); 
000282  4669              MOV      r1,sp 
000284  4620              MOV      r0,r4 
000286  f7fffffe          BL       get_entry 
00028a  4605              MOV      r5,r0 
;;;223       if (fname == NULL) { 
00028c  b91d              CBNZ     r5,|L1.662| 
;;;224          printf ("\nFilename missing.\n"); 
00028e  a08b              ADR      r0,|L1.1212| 
000290  f7fffffe          BL       __2printf 
                  |L1.660| 
;;;225          return; 
;;;226       } 
;;;227       printf("\nRead data from file %s\n",fname); 
;;;228       f = fopen (fname,"r");             /* open the file for reading           */ 
;;;229       if (f == NULL) { 
;;;230          printf ("\nFile not found!\n"); 
;;;231          return; 
;;;232       } 
;;;233       
;;;234       while ((ch = fgetc (f)) != EOF) {  /* read the characters from the file   */ 
;;;235          putchar (ch);                   /* and write them on the screen        */ 
;;;236       } 
;;;237       fclose (f);                        /* close the input file when done      */ 
;;;238       printf ("\nFile closed.\n"); 
;;;239    } 
000294  bdf8              POP      {r3-r7,pc} 
                  |L1.662| 
000296  4629              MOV      r1,r5                 ;227 
000298  a0bc              ADR      r0,|L1.1420| 
00029a  f7fffffe          BL       __2printf 
00029e  a1c2              ADR      r1,|L1.1448| 
0002a0  4628              MOV      r0,r5                 ;228 
0002a2  f7fffffe          BL       fopen 
0002a6  4606              MOV      r6,r0                 ;228 
0002a8  b91e              CBNZ     r6,|L1.690| 
0002aa  a0c0              ADR      r0,|L1.1452| 
0002ac  f7fffffe          BL       __2printf 
0002b0  e7f0              B        |L1.660| 
                  |L1.690| 
0002b2  e003              B        |L1.700| 
                  |L1.692| 
0002b4  49c2              LDR      r1,|L1.1472| 
0002b6  4638              MOV      r0,r7                 ;235 
0002b8  f7fffffe          BL       putc 
                  |L1.700| 
0002bc  4630              MOV      r0,r6                 ;234 
0002be  f7fffffe          BL       fgetc 
0002c2  4607              MOV      r7,r0                 ;234 
0002c4  1c40              ADDS     r0,r0,#1              ;234 
0002c6  d1f5              BNE      |L1.692| 
0002c8  4630              MOV      r0,r6                 ;237 
0002ca  f7fffffe          BL       fclose 
0002ce  a0a3              ADR      r0,|L1.1372| 
0002d0  f7fffffe          BL       __2printf 
0002d4  e7de              B        |L1.660| 
;;;240     
                          ENDP 
 
                  cmd_rename PROC 
;;;243     *---------------------------------------------------------------------------*/ 
;;;244    static void cmd_rename (char *par) { 
0002d6  b5f8              PUSH     {r3-r7,lr} 
0002d8  4604              MOV      r4,r0 
;;;245       char *fname,*fnew,*next,dir; 
;;;246     
;;;247       fname = get_entry (par, &next); 
0002da  4669              MOV      r1,sp 
0002dc  4620              MOV      r0,r4 
0002de  f7fffffe          BL       get_entry 
0002e2  4605              MOV      r5,r0 
;;;248       if (fname == NULL) { 
0002e4  b91d              CBNZ     r5,|L1.750| 
;;;249          printf ("\nFilename missing.\n"); 
0002e6  a075              ADR      r0,|L1.1212| 
0002e8  f7fffffe          BL       __2printf 
                  |L1.748| 
;;;250          return; 
;;;251       } 
;;;252       fnew = get_entry (next, &next); 
;;;253       if (fnew == NULL) { 
;;;254          printf ("\nNew Filename missing.\n"); 
;;;255          return; 
;;;256       } 
;;;257       if (strcmp (fname,fnew) == 0) { 
;;;258          printf ("\nNew name is the same.\n"); 
;;;259          return; 
;;;260       } 
;;;261     
;;;262       dir = 0; 
;;;263       if (*(fname + strlen(fname) - 1) == '\\') { 
;;;264          dir = 1; 
;;;265       } 
;;;266     
;;;267       if (frename (fname, fnew) == 0) { 
;;;268          if (dir) { 
;;;269             printf ("\nDirectory %s renamed to %s\n",fname,fnew); 
;;;270          } 
;;;271          else { 
;;;272             printf ("\nFile %s renamed to %s\n",fname,fnew); 
;;;273          } 
;;;274       } 
;;;275       else { 
;;;276          if (dir) { 
;;;277             printf ("\nDirectory rename error.\n"); 
;;;278          } 
;;;279          else { 
;;;280             printf ("\nFile rename error.\n"); 
;;;281          } 
;;;282       } 
;;;283    } 
0002ec  bdf8              POP      {r3-r7,pc} 
                  |L1.750| 
0002ee  4669              MOV      r1,sp                 ;252 
0002f0  9800              LDR      r0,[sp,#0]            ;252 
0002f2  f7fffffe          BL       get_entry 
0002f6  4606              MOV      r6,r0                 ;252 
0002f8  b91e              CBNZ     r6,|L1.770| 
0002fa  a0b2              ADR      r0,|L1.1476| 
0002fc  f7fffffe          BL       __2printf 
000300  e7f4              B        |L1.748| 
                  |L1.770| 
000302  4631              MOV      r1,r6                 ;257 
000304  4628              MOV      r0,r5                 ;257 
000306  f7fffffe          BL       strcmp 
00030a  b918              CBNZ     r0,|L1.788| 
00030c  a0b3              ADR      r0,|L1.1500| 
00030e  f7fffffe          BL       __2printf 
000312  e7eb              B        |L1.748| 
                  |L1.788| 
000314  2700              MOVS     r7,#0                 ;262 
000316  4628              MOV      r0,r5                 ;263 
000318  f7fffffe          BL       strlen 
00031c  4428              ADD      r0,r0,r5              ;263 
00031e  f8100c01          LDRB     r0,[r0,#-1]           ;263 
000322  285c              CMP      r0,#0x5c              ;263 
000324  d100              BNE      |L1.808| 
000326  2701              MOVS     r7,#1                 ;264 
                  |L1.808| 
000328  4631              MOV      r1,r6                 ;267 
00032a  4628              MOV      r0,r5                 ;267 
00032c  f7fffffe          BL       frename 
000330  b960              CBNZ     r0,|L1.844| 
000332  b12f              CBZ      r7,|L1.832| 
000334  4632              MOV      r2,r6                 ;269 
000336  4629              MOV      r1,r5                 ;269 
000338  a0ae              ADR      r0,|L1.1524| 
00033a  f7fffffe          BL       __2printf 
00033e  e00d              B        |L1.860| 
                  |L1.832| 
000340  4632              MOV      r2,r6                 ;272 
000342  4629              MOV      r1,r5                 ;272 
000344  a0b3              ADR      r0,|L1.1556| 
000346  f7fffffe          BL       __2printf 
00034a  e007              B        |L1.860| 
                  |L1.844| 
00034c  b11f              CBZ      r7,|L1.854| 
00034e  a0b7              ADR      r0,|L1.1580| 
000350  f7fffffe          BL       __2printf 
000354  e002              B        |L1.860| 
                  |L1.854| 
000356  a0bc              ADR      r0,|L1.1608| 
000358  f7fffffe          BL       __2printf 
                  |L1.860| 
00035c  e7c6              B        |L1.748| 
;;;284     
                          ENDP 
 
                  cmd_copy PROC 
;;;287     *---------------------------------------------------------------------------*/ 
;;;288    static void cmd_copy (char *par) { 
00035e  e92d4ff1          PUSH     {r0,r4-r11,lr} 
000362  f5ad7d02          SUB      sp,sp,#0x208 
;;;289       char *fname,*fnew,*fmer,*next; 
;;;290       FILE *fin,*fout; 
;;;291       U32 cnt,total; 
;;;292       char buf[512]; 
;;;293       BOOL merge; 
;;;294     
;;;295       fname = get_entry (par, &next); 
000366  a981              ADD      r1,sp,#0x204 
000368  9882              LDR      r0,[sp,#0x208] 
00036a  f7fffffe          BL       get_entry 
00036e  4604              MOV      r4,r0 
;;;296       if (fname == NULL) { 
000370  b934              CBNZ     r4,|L1.896| 
;;;297          printf ("\nFilename missing.\n"); 
000372  a052              ADR      r0,|L1.1212| 
000374  f7fffffe          BL       __2printf 
                  |L1.888| 
;;;298          return; 
;;;299       } 
;;;300       fmer = get_entry (next, &next); 
;;;301       if (fmer == NULL) { 
;;;302          printf ("\nNew Filename missing.\n"); 
;;;303          return; 
;;;304       } 
;;;305       fnew = get_entry (next, &next); 
;;;306       if (fnew != NULL) { 
;;;307          merge = __TRUE; 
;;;308       } 
;;;309       else { 
;;;310          merge = __FALSE; 
;;;311          fnew = fmer; 
;;;312       } 
;;;313       if ((strcmp (fname,fnew) == 0)        || 
;;;314           (merge && strcmp (fmer,fnew) == 0)) { 
;;;315          printf ("\nNew name is the same.\n"); 
;;;316          return; 
;;;317       } 
;;;318     
;;;319       fin = fopen (fname,"r");           /* open the file for reading           */ 
;;;320       if (fin == NULL) { 
;;;321          printf ("\nFile %s not found!\n",fname); 
;;;322          return; 
;;;323       } 
;;;324     
;;;325       if (merge == __FALSE) { 
;;;326          printf ("\nCopy file %s to %s\n",fname,fnew); 
;;;327       } 
;;;328       else { 
;;;329          printf ("\nCopy file %s, %s to %s\n",fname,fmer,fnew); 
;;;330       } 
;;;331       fout = fopen (fnew,"w");           /* open the file for writing           */ 
;;;332       if (fout == NULL) { 
;;;333          printf ("\nFailed to open %s for writing!\n",fnew); 
;;;334          fclose (fin); 
;;;335          return; 
;;;336       } 
;;;337     
;;;338       total = 0; 
;;;339       while ((cnt = fread (&buf, 1, 512, fin)) != 0) { 
;;;340          fwrite (&buf, 1, cnt, fout); 
;;;341          total += cnt; 
;;;342       } 
;;;343       fclose (fin);                      /* close input file when done          */ 
;;;344     
;;;345       if (merge == __TRUE) { 
;;;346          fin = fopen (fmer,"r");         /* open the file for reading           */ 
;;;347          if (fin == NULL) { 
;;;348             printf ("\nFile %s not found!\n",fmer); 
;;;349          } 
;;;350          else { 
;;;351             while ((cnt = fread (&buf, 1, 512, fin)) != 0) { 
;;;352                fwrite (&buf, 1, cnt, fout); 
;;;353                total += cnt; 
;;;354             } 
;;;355             fclose (fin); 
;;;356          } 
;;;357       } 
;;;358       fclose (fout); 
;;;359       dot_format (total, &buf[0]); 
;;;360       printf ("\n%s bytes copied.\n", &buf[0]); 
;;;361    } 
000378  f50d7d03          ADD      sp,sp,#0x20c 
00037c  e8bd8ff0          POP      {r4-r11,pc} 
                  |L1.896| 
000380  a981              ADD      r1,sp,#0x204          ;300 
000382  9881              LDR      r0,[sp,#0x204]        ;300 
000384  f7fffffe          BL       get_entry 
000388  4606              MOV      r6,r0                 ;300 
00038a  b91e              CBNZ     r6,|L1.916| 
00038c  a08d              ADR      r0,|L1.1476| 
00038e  f7fffffe          BL       __2printf 
000392  e7f1              B        |L1.888| 
                  |L1.916| 
000394  a981              ADD      r1,sp,#0x204          ;305 
000396  9881              LDR      r0,[sp,#0x204]        ;305 
000398  f7fffffe          BL       get_entry 
00039c  4605              MOV      r5,r0                 ;305 
00039e  b115              CBZ      r5,|L1.934| 
0003a0  f04f0b01          MOV      r11,#1                ;307 
0003a4  e002              B        |L1.940| 
                  |L1.934| 
0003a6  f04f0b00          MOV      r11,#0                ;310 
0003aa  4635              MOV      r5,r6                 ;311 
                  |L1.940| 
0003ac  4629              MOV      r1,r5                 ;313 
0003ae  4620              MOV      r0,r4                 ;313 
0003b0  f7fffffe          BL       strcmp 
0003b4  b138              CBZ      r0,|L1.966| 
0003b6  f1bb0f00          CMP      r11,#0                ;314 
0003ba  d008              BEQ      |L1.974| 
0003bc  4629              MOV      r1,r5                 ;314 
0003be  4630              MOV      r0,r6                 ;314 
0003c0  f7fffffe          BL       strcmp 
0003c4  b918              CBNZ     r0,|L1.974| 
                  |L1.966| 
0003c6  a085              ADR      r0,|L1.1500| 
0003c8  f7fffffe          BL       __2printf 
0003cc  e7d4              B        |L1.888| 
                  |L1.974| 
0003ce  a176              ADR      r1,|L1.1448| 
0003d0  4620              MOV      r0,r4                 ;319 
0003d2  f7fffffe          BL       fopen 
0003d6  4607              MOV      r7,r0                 ;319 
0003d8  b927              CBNZ     r7,|L1.996| 
0003da  4621              MOV      r1,r4                 ;321 
0003dc  a0a0              ADR      r0,|L1.1632| 
0003de  f7fffffe          BL       __2printf 
0003e2  e7c9              B        |L1.888| 
                  |L1.996| 
0003e4  f1bb0f00          CMP      r11,#0                ;325 
0003e8  d105              BNE      |L1.1014| 
0003ea  462a              MOV      r2,r5                 ;326 
0003ec  4621              MOV      r1,r4                 ;326 
0003ee  a0a2              ADR      r0,|L1.1656| 
0003f0  f7fffffe          BL       __2printf 
0003f4  e005              B        |L1.1026| 
                  |L1.1014| 
0003f6  462b              MOV      r3,r5                 ;329 
0003f8  4632              MOV      r2,r6                 ;329 
0003fa  4621              MOV      r1,r4                 ;329 
0003fc  a0a4              ADR      r0,|L1.1680| 
0003fe  f7fffffe          BL       __2printf 
                  |L1.1026| 
000402  a14e              ADR      r1,|L1.1340| 
000404  4628              MOV      r0,r5                 ;331 
000406  f7fffffe          BL       fopen 
00040a  4680              MOV      r8,r0                 ;331 
00040c  f1b80f00          CMP      r8,#0                 ;332 
000410  d107              BNE      |L1.1058| 
000412  4629              MOV      r1,r5                 ;333 
000414  a0a5              ADR      r0,|L1.1708| 
000416  f7fffffe          BL       __2printf 
00041a  4638              MOV      r0,r7                 ;334 
00041c  f7fffffe          BL       fclose 
000420  e7aa              B        |L1.888| 
                  |L1.1058| 
000422  f04f0a00          MOV      r10,#0                ;338 
000426  e006              B        |L1.1078| 
                  |L1.1064| 
000428  4643              MOV      r3,r8                 ;340 
00042a  464a              MOV      r2,r9                 ;340 
00042c  2101              MOVS     r1,#1                 ;340 
00042e  a801              ADD      r0,sp,#4              ;340 
000430  f7fffffe          BL       fwrite 
000434  44ca              ADD      r10,r10,r9            ;341 
                  |L1.1078| 
000436  463b              MOV      r3,r7                 ;339 
000438  f44f7200          MOV      r2,#0x200             ;339 
00043c  2101              MOVS     r1,#1                 ;339 
00043e  a801              ADD      r0,sp,#4              ;339 
000440  f7fffffe          BL       fread 
000444  ea5f0900          MOVS     r9,r0                 ;339 
000448  d1ee              BNE      |L1.1064| 
00044a  4638              MOV      r0,r7                 ;343 
00044c  f7fffffe          BL       fclose 
000450  f1bb0f01          CMP      r11,#1                ;345 
000454  d109              BNE      |L1.1130| 
000456  a154              ADR      r1,|L1.1448| 
000458  4630              MOV      r0,r6                 ;346 
00045a  f7fffffe          BL       fopen 
00045e  4607              MOV      r7,r0                 ;346 
000460  b927              CBNZ     r7,|L1.1132| 
000462  4631              MOV      r1,r6                 ;348 
000464  a07e              ADR      r0,|L1.1632| 
000466  f7fffffe          BL       __2printf 
                  |L1.1130| 
00046a  e136              B        |L1.1754| 
                  |L1.1132| 
00046c  e006              B        |L1.1148| 
                  |L1.1134| 
00046e  4643              MOV      r3,r8                 ;352 
000470  464a              MOV      r2,r9                 ;352 
000472  2101              MOVS     r1,#1                 ;352 
000474  a801              ADD      r0,sp,#4              ;352 
000476  f7fffffe          BL       fwrite 
00047a  44ca              ADD      r10,r10,r9            ;353 
                  |L1.1148| 
00047c  463b              MOV      r3,r7                 ;351 
00047e  f44f7200          MOV      r2,#0x200             ;351 
000482  2101              MOVS     r1,#1                 ;351 
000484  a801              ADD      r0,sp,#4              ;351 
000486  f7fffffe          BL       fread 
00048a  ea5f0900          MOVS     r9,r0                 ;351 
00048e  e11f              B        |L1.1744| 
                  |L1.1168| 
                          DCD      0x3b9aca00 
                  |L1.1172| 
000494  25642e00          DCB      "%d.",0 
                  |L1.1176| 
                          DCD      0x000f4240 
                  |L1.1180| 
00049c  253033642e00        DCB      "%03d.",0 
0004a2  00                DCB      0 
0004a3  00                DCB      0 
                  |L1.1188| 
0004a4  253033642e2530336400        DCB      "%03d.%03d",0 
0004ae  00                DCB      0 
0004af  00                DCB      0 
                  |L1.1200| 
0004b0  25642e2530336400        DCB      "%d.%03d",0 
                  |L1.1208| 
0004b8  256400            DCB      "%d",0 
0004bb  00                DCB      0 
                  |L1.1212| 
0004bc  0a46696c656e616d65206d697373696e672e0a00        DCB      "\nFilename missing.\n",0 
                  |L1.1232| 
0004d0  2f4100            DCB      "/A",0 
0004d3  00                DCB      0 
                  |L1.1236| 
0004d4  2f6100            DCB      "/a",0 
0004d7  00                DCB      0 
                  |L1.1240| 
0004d8  0a436f6d6d616e64206572726f722e0a00        DCB      "\nCommand error.\n",0 
0004e9  00                DCB      0 
0004ea  00                DCB      0 
0004eb  00                DCB      0 
                  |L1.1260| 
0004ec  0a417070656e64206461746120746f2066696c6520257300        DCB      "\nAppend data to file %s",0 
                  |L1.1284| 
000504  0a43617074757265206461746120746f2066696c6520257300        DCB      "\nCapture data to file %s",0 
00051d  00                DCB      0 
00051e  00                DCB      0 
00051f  00                DCB      0 
                  |L1.1312| 
000520  0a50726573732045534320746f2073746f702e0a00        DCB      "\nPress ESC to stop.\n",0 
000535  00                DCB      0 
000536  00                DCB      0 
000537  00                DCB      0 
                  |L1.1336| 
000538  6100              DCB      "a",0 
00053a  00                DCB      0 
00053b  00                DCB      0 
                  |L1.1340| 
00053c  7700              DCB      "w",0 
00053e  00                DCB      0 
00053f  00                DCB      0 
                  |L1.1344| 
000540  0a43616e206e6f74206f70656e2066696c65210a00        DCB      "\nCan not open file!\n",0 
000555  00                DCB      0 
000556  00                DCB      0 
000557  00                DCB      0 
                  |L1.1368| 
                          DCD      ||.bss|| 
                  |L1.1372| 
00055c  0a46696c6520636c6f7365642e0a00        DCB      "\nFile closed.\n",0 
00056b  00                DCB      0 
                  |L1.1388| 
00056c  54686973206973206c696e65202320256420696e2066696c652025730a00        DCB      "This is line # %d in file %s\n",0 
00058a  00                DCB      0 
00058b  00                DCB      0 
                  |L1.1420| 
00058c  0a5265616420646174612066726f6d2066696c652025730a00        DCB      "\nRead data from file %s\n",0 
0005a5  00                DCB      0 
0005a6  00                DCB      0 
0005a7  00                DCB      0 
                  |L1.1448| 
0005a8  7200              DCB      "r",0 
0005aa  00                DCB      0 
0005ab  00                DCB      0 
                  |L1.1452| 
0005ac  0a46696c65206e6f7420666f756e64210a00        DCB      "\nFile not found!\n",0 
0005be  00                DCB      0 
0005bf  00                DCB      0 
                  |L1.1472| 
                          DCD      __stdout 
                  |L1.1476| 
0005c4  0a4e65772046696c656e616d65206d697373696e672e0a00        DCB      "\nNew Filename missing.\n",0 
                  |L1.1500| 
0005dc  0a4e6577206e616d65206973207468652073616d652e0a00        DCB      "\nNew name is the same.\n",0 
                  |L1.1524| 
0005f4  0a4469726563746f72792025732072656e616d656420746f2025730a00        DCB      "\nDirectory %s renamed to %s\n",0 
000611  00                DCB      0 
000612  00                DCB      0 
000613  00                DCB      0 
                  |L1.1556| 
000614  0a46696c652025732072656e616d656420746f2025730a00        DCB      "\nFile %s renamed to %s\n",0 
                  |L1.1580| 
00062c  0a4469726563746f72792072656e616d65206572726f722e0a00        DCB      "\nDirectory rename error.\n",0 
000646  00                DCB      0 
000647  00                DCB      0 
                  |L1.1608| 
000648  0a46696c652072656e616d65206572726f722e0a00        DCB      "\nFile rename error.\n",0 
00065d  00                DCB      0 
00065e  00                DCB      0 
00065f  00                DCB      0 
                  |L1.1632| 
000660  0a46696c65202573206e6f7420666f756e64210a00        DCB      "\nFile %s not found!\n",0 
000675  00                DCB      0 
000676  00                DCB      0 
000677  00                DCB      0 
                  |L1.1656| 
000678  0a436f70792066696c6520257320746f2025730a00        DCB      "\nCopy file %s to %s\n",0 
00068d  00                DCB      0 
00068e  00                DCB      0 
00068f  00                DCB      0 
                  |L1.1680| 
000690  0a436f70792066696c652025732c20257320746f2025730a00        DCB      "\nCopy file %s, %s to %s\n",0 
0006a9  00                DCB      0 
0006aa  00                DCB      0 
0006ab  00                DCB      0 
                  |L1.1708| 
0006ac  0a4661696c656420746f206f70656e20257320666f722077726974696e67210a00        DCB      "\nFailed to open %s for writing!\n",0 
0006cd  00                DCB      0 
0006ce  00                DCB      0 
0006cf  00                DCB      0 
                  |L1.1744| 
0006d0  f47faecd          BNE      |L1.1134| 
0006d4  4638              MOV      r0,r7                 ;355 
0006d6  f7fffffe          BL       fclose 
                  |L1.1754| 
0006da  4640              MOV      r0,r8                 ;358 
0006dc  f7fffffe          BL       fclose 
0006e0  a901              ADD      r1,sp,#4              ;359 
0006e2  4650              MOV      r0,r10                ;359 
0006e4  f7fffffe          BL       dot_format 
0006e8  a901              ADD      r1,sp,#4              ;360 
0006ea  a0e0              ADR      r0,|L1.2668| 
0006ec  f7fffffe          BL       __2printf 
0006f0  e642              B        |L1.888| 
;;;362     
                          ENDP 
 
                  cmd_delete PROC 
;;;365     *---------------------------------------------------------------------------*/ 
;;;366    static void cmd_delete (char *par) { 
0006f2  b5f8              PUSH     {r3-r7,lr} 
0006f4  4604              MOV      r4,r0 
;;;367       char *fname,*next,dir; 
;;;368     
;;;369       fname = get_entry (par, &next); 
0006f6  4669              MOV      r1,sp 
0006f8  4620              MOV      r0,r4 
0006fa  f7fffffe          BL       get_entry 
0006fe  4605              MOV      r5,r0 
;;;370       if (fname == NULL) { 
000700  b925              CBNZ     r5,|L1.1804| 
;;;371          printf ("\nFilename missing.\n"); 
000702  f2af2048          ADR      r0,|L1.1212| 
000706  f7fffffe          BL       __2printf 
                  |L1.1802| 
;;;372          return; 
;;;373       } 
;;;374     
;;;375       dir = 0; 
;;;376       if (*(fname + strlen(fname) - 1) == '\\') { 
;;;377          dir = 1; 
;;;378       } 
;;;379     
;;;380       if (fdelete (fname) == 0) { 
;;;381          if (dir) { 
;;;382             printf ("\nDirectory %s deleted.\n",fname); 
;;;383          } 
;;;384          else { 
;;;385             printf ("\nFile %s deleted.\n",fname); 
;;;386          } 
;;;387       } 
;;;388       else { 
;;;389          if (dir) { 
;;;390             printf ("\nDirectory %s not found or not empty.\n",fname); 
;;;391          } 
;;;392          else { 
;;;393             printf ("\nFile %s not found.\n",fname); 
;;;394          } 
;;;395       } 
;;;396    } 
00070a  bdf8              POP      {r3-r7,pc} 
                  |L1.1804| 
00070c  2600              MOVS     r6,#0                 ;375 
00070e  4628              MOV      r0,r5                 ;376 
000710  f7fffffe          BL       strlen 
000714  4428              ADD      r0,r0,r5              ;376 
000716  f8100c01          LDRB     r0,[r0,#-1]           ;376 
00071a  285c              CMP      r0,#0x5c              ;376 
00071c  d100              BNE      |L1.1824| 
00071e  2601              MOVS     r6,#1                 ;377 
                  |L1.1824| 
000720  4628              MOV      r0,r5                 ;380 
000722  f7fffffe          BL       fdelete 
000726  b950              CBNZ     r0,|L1.1854| 
000728  b126              CBZ      r6,|L1.1844| 
00072a  4629              MOV      r1,r5                 ;382 
00072c  a0d4              ADR      r0,|L1.2688| 
00072e  f7fffffe          BL       __2printf 
000732  e00e              B        |L1.1874| 
                  |L1.1844| 
000734  4629              MOV      r1,r5                 ;385 
000736  a0d8              ADR      r0,|L1.2712| 
000738  f7fffffe          BL       __2printf 
00073c  e009              B        |L1.1874| 
                  |L1.1854| 
00073e  b126              CBZ      r6,|L1.1866| 
000740  4629              MOV      r1,r5                 ;390 
000742  a0da              ADR      r0,|L1.2732| 
000744  f7fffffe          BL       __2printf 
000748  e003              B        |L1.1874| 
                  |L1.1866| 
00074a  4629              MOV      r1,r5                 ;393 
00074c  a0e1              ADR      r0,|L1.2772| 
00074e  f7fffffe          BL       __2printf 
                  |L1.1874| 
000752  e7da              B        |L1.1802| 
;;;397     
                          ENDP 
 
                  cmd_dir PROC 
;;;400     *---------------------------------------------------------------------------*/ 
;;;401    static void cmd_dir (char *par) { 
000754  e92d4ff0          PUSH     {r4-r11,lr} 
000758  b0cf              SUB      sp,sp,#0x13c 
00075a  4604              MOV      r4,r0 
;;;402       U32 fsize,files,dirs,i; 
;;;403       char temp[32],*mask,*next,ch; 
;;;404       FINFO info; 
;;;405     
;;;406       mask = get_entry (par, &next); 
00075c  a946              ADD      r1,sp,#0x118 
00075e  4620              MOV      r0,r4 
000760  f7fffffe          BL       get_entry 
000764  4681              MOV      r9,r0 
;;;407       if (mask == NULL) { 
000766  f1b90f00          CMP      r9,#0 
00076a  d101              BNE      |L1.1904| 
;;;408          mask = "*.*"; 
00076c  f20f397c          ADR.W    r9,|L1.2796| 
                  |L1.1904| 
;;;409       } 
;;;410     
;;;411       printf ("\nFile System Directory..."); 
000770  a0df              ADR      r0,|L1.2800| 
000772  f7fffffe          BL       __2printf 
;;;412       files = 0; 
000776  2600              MOVS     r6,#0 
;;;413       dirs  = 0; 
000778  2700              MOVS     r7,#0 
;;;414       fsize = 0; 
00077a  2500              MOVS     r5,#0 
;;;415       info.fileID  = 0; 
00077c  2000              MOVS     r0,#0 
00077e  f8ad010c          STRH     r0,[sp,#0x10c] 
;;;416       while (ffind (mask,&info) == 0) { 
000782  e076              B        |L1.2162| 
                  |L1.1924| 
;;;417          if (info.attrib & ATTR_DIRECTORY) { 
000784  f89d010e          LDRB     r0,[sp,#0x10e] 
000788  f0100f10          TST      r0,#0x10 
00078c  d035              BEQ      |L1.2042| 
;;;418             i = 0; 
00078e  f04f0800          MOV      r8,#0 
;;;419             while (strlen((const char *)info.name+i) > 41) { 
000792  e014              B        |L1.1982| 
                  |L1.1940| 
;;;420                ch = info.name[i+41]; 
000794  a902              ADD      r1,sp,#8 
000796  f1080029          ADD      r0,r8,#0x29 
00079a  f811a000          LDRB     r10,[r1,r0] 
;;;421                info.name[i+41] = 0; 
00079e  2100              MOVS     r1,#0 
0007a0  aa02              ADD      r2,sp,#8 
0007a2  5411              STRB     r1,[r2,r0] 
;;;422                printf ("\n%-41s", &info.name[i]); 
0007a4  a802              ADD      r0,sp,#8 
0007a6  eb000108          ADD      r1,r0,r8 
0007aa  a0d8              ADR      r0,|L1.2828| 
0007ac  f7fffffe          BL       __2printf 
;;;423                info.name[i+41] = ch; 
0007b0  fa4ff18a          SXTB     r1,r10 
0007b4  aa02              ADD      r2,sp,#8 
0007b6  f1080029          ADD      r0,r8,#0x29 
0007ba  5411              STRB     r1,[r2,r0] 
;;;424                i += 41; 
0007bc  4680              MOV      r8,r0 
                  |L1.1982| 
0007be  a902              ADD      r1,sp,#8              ;419 
0007c0  eb010008          ADD      r0,r1,r8              ;419 
0007c4  f7fffffe          BL       strlen 
0007c8  2829              CMP      r0,#0x29              ;419 
0007ca  d8e3              BHI      |L1.1940| 
;;;425             } 
;;;426             printf ("\n%-41s    <DIR>       ", &info.name[i]); 
0007cc  a802              ADD      r0,sp,#8 
0007ce  eb000108          ADD      r1,r0,r8 
0007d2  a0d0              ADR      r0,|L1.2836| 
0007d4  f7fffffe          BL       __2printf 
;;;427             printf ("  %02d.%02d.%04d  %02d:%02d", 
0007d8  f89d3111          LDRB     r3,[sp,#0x111] 
0007dc  f89d2110          LDRB     r2,[sp,#0x110] 
0007e0  e9cd2300          STRD     r2,r3,[sp,#0] 
0007e4  f8bd3116          LDRH     r3,[sp,#0x116] 
0007e8  f89d2114          LDRB     r2,[sp,#0x114] 
0007ec  f89d1113          LDRB     r1,[sp,#0x113] 
0007f0  a0ce              ADR      r0,|L1.2860| 
0007f2  f7fffffe          BL       __2printf 
;;;428                      info.time.day, info.time.mon, info.time.year, 
;;;429                      info.time.hr, info.time.min); 
;;;430             dirs++; 
0007f6  1c7f              ADDS     r7,r7,#1 
0007f8  e03b              B        |L1.2162| 
                  |L1.2042| 
;;;431          } 
;;;432          else { 
;;;433             dot_format (info.size, &temp[0]); 
0007fa  a947              ADD      r1,sp,#0x11c 
0007fc  9842              LDR      r0,[sp,#0x108] 
0007fe  f7fffffe          BL       dot_format 
;;;434             i = 0; 
000802  f04f0800          MOV      r8,#0 
;;;435             while (strlen((const char *)info.name+i) > 41) { 
000806  e014              B        |L1.2098| 
                  |L1.2056| 
;;;436                ch = info.name[i+41]; 
000808  a902              ADD      r1,sp,#8 
00080a  f1080029          ADD      r0,r8,#0x29 
00080e  f811a000          LDRB     r10,[r1,r0] 
;;;437                info.name[i+41] = 0; 
000812  2100              MOVS     r1,#0 
000814  aa02              ADD      r2,sp,#8 
000816  5411              STRB     r1,[r2,r0] 
;;;438                printf ("\n%-41s", &info.name[i]); 
000818  a802              ADD      r0,sp,#8 
00081a  eb000108          ADD      r1,r0,r8 
00081e  a0bb              ADR      r0,|L1.2828| 
000820  f7fffffe          BL       __2printf 
;;;439                info.name[i+41] = ch; 
000824  fa4ff18a          SXTB     r1,r10 
000828  aa02              ADD      r2,sp,#8 
00082a  f1080029          ADD      r0,r8,#0x29 
00082e  5411              STRB     r1,[r2,r0] 
;;;440                i += 41; 
000830  4680              MOV      r8,r0 
                  |L1.2098| 
000832  a902              ADD      r1,sp,#8              ;435 
000834  eb010008          ADD      r0,r1,r8              ;435 
000838  f7fffffe          BL       strlen 
00083c  2829              CMP      r0,#0x29              ;435 
00083e  d8e3              BHI      |L1.2056| 
;;;441             } 
;;;442             printf ("\n%-41s %14s ", &info.name[i], temp); 
000840  a802              ADD      r0,sp,#8 
000842  eb000108          ADD      r1,r0,r8 
000846  aa47              ADD      r2,sp,#0x11c 
000848  a0bf              ADR      r0,|L1.2888| 
00084a  f7fffffe          BL       __2printf 
;;;443             printf ("  %02d.%02d.%04d  %02d:%02d", 
00084e  f89d3111          LDRB     r3,[sp,#0x111] 
000852  f89d2110          LDRB     r2,[sp,#0x110] 
000856  e9cd2300          STRD     r2,r3,[sp,#0] 
00085a  f8bd3116          LDRH     r3,[sp,#0x116] 
00085e  f89d2114          LDRB     r2,[sp,#0x114] 
000862  f89d1113          LDRB     r1,[sp,#0x113] 
000866  a0b1              ADR      r0,|L1.2860| 
000868  f7fffffe          BL       __2printf 
;;;444                      info.time.day, info.time.mon, info.time.year, 
;;;445                      info.time.hr, info.time.min); 
;;;446             fsize += info.size; 
00086c  9842              LDR      r0,[sp,#0x108] 
00086e  4405              ADD      r5,r5,r0 
;;;447             files++; 
000870  1c76              ADDS     r6,r6,#1 
                  |L1.2162| 
000872  a902              ADD      r1,sp,#8              ;416 
000874  4648              MOV      r0,r9                 ;416 
000876  f7fffffe          BL       ffind 
00087a  2800              CMP      r0,#0                 ;416 
00087c  d082              BEQ      |L1.1924| 
;;;448          } 
;;;449       } 
;;;450       if (info.fileID == 0) { 
00087e  f8bd010c          LDRH     r0,[sp,#0x10c] 
000882  b918              CBNZ     r0,|L1.2188| 
;;;451          printf ("\nNo files..."); 
000884  a0b4              ADR      r0,|L1.2904| 
000886  f7fffffe          BL       __2printf 
00088a  e008              B        |L1.2206| 
                  |L1.2188| 
;;;452       } 
;;;453       else { 
;;;454          dot_format (fsize, &temp[0]); 
00088c  a947              ADD      r1,sp,#0x11c 
00088e  4628              MOV      r0,r5 
000890  f7fffffe          BL       dot_format 
;;;455          printf ("\n              %9d File(s)    %21s bytes", files, temp); 
000894  aa47              ADD      r2,sp,#0x11c 
000896  4631              MOV      r1,r6 
000898  a0b3              ADR      r0,|L1.2920| 
00089a  f7fffffe          BL       __2printf 
                  |L1.2206| 
;;;456       } 
;;;457       dot_format (ffree(""), &temp[0]); 
00089e  a092              ADR      r0,|L1.2792| 
0008a0  f7fffffe          BL       ffree 
0008a4  4683              MOV      r11,r0 
0008a6  a947              ADD      r1,sp,#0x11c 
0008a8  f7fffffe          BL       dot_format 
;;;458       if (dirs) { 
0008ac  b12f              CBZ      r7,|L1.2234| 
;;;459          printf ("\n              %9d Dir(s)     %21s bytes free.\n", dirs, temp); 
0008ae  aa47              ADD      r2,sp,#0x11c 
0008b0  4639              MOV      r1,r7 
0008b2  a0b8              ADR      r0,|L1.2964| 
0008b4  f7fffffe          BL       __2printf 
0008b8  e003              B        |L1.2242| 
                  |L1.2234| 
;;;460       } 
;;;461       else { 
;;;462          printf ("\n%56s bytes free.\n",temp); 
0008ba  a947              ADD      r1,sp,#0x11c 
0008bc  a0c1              ADR      r0,|L1.3012| 
0008be  f7fffffe          BL       __2printf 
                  |L1.2242| 
;;;463       } 
;;;464    } 
0008c2  b04f              ADD      sp,sp,#0x13c 
0008c4  e8bd8ff0          POP      {r4-r11,pc} 
;;;465     
                          ENDP 
 
                  cmd_format PROC 
;;;468     *---------------------------------------------------------------------------*/ 
;;;469    static void cmd_format (char *par) { 
0008c8  b5f0              PUSH     {r4-r7,lr} 
0008ca  b087              SUB      sp,sp,#0x1c 
0008cc  4604              MOV      r4,r0 
;;;470       char *label,*next,*opt; 
;;;471       char arg[20]; 
;;;472       U32 retv; 
;;;473     
;;;474       label = get_entry (par, &next); 
0008ce  a906              ADD      r1,sp,#0x18 
0008d0  4620              MOV      r0,r4 
0008d2  f7fffffe          BL       get_entry 
0008d6  4605              MOV      r5,r0 
;;;475       if (label == NULL) { 
0008d8  b905              CBNZ     r5,|L1.2268| 
;;;476          label = "KEIL"; 
0008da  a5bf              ADR      r5,|L1.3032| 
                  |L1.2268| 
;;;477       } 
;;;478       strcpy (arg, label); 
0008dc  4629              MOV      r1,r5 
0008de  a801              ADD      r0,sp,#4 
0008e0  f7fffffe          BL       strcpy 
;;;479       opt = get_entry (next, &next); 
0008e4  a906              ADD      r1,sp,#0x18 
0008e6  9806              LDR      r0,[sp,#0x18] 
0008e8  f7fffffe          BL       get_entry 
0008ec  4606              MOV      r6,r0 
;;;480       if (opt != NULL) { 
0008ee  b16e              CBZ      r6,|L1.2316| 
;;;481          if ((strcmp (opt, "/FAT32") == 0) ||(strcmp (opt, "/fat32") == 0)) { 
0008f0  a1bb              ADR      r1,|L1.3040| 
0008f2  4630              MOV      r0,r6 
0008f4  f7fffffe          BL       strcmp 
0008f8  b120              CBZ      r0,|L1.2308| 
0008fa  a1bb              ADR      r1,|L1.3048| 
0008fc  4630              MOV      r0,r6 
0008fe  f7fffffe          BL       strcmp 
000902  b918              CBNZ     r0,|L1.2316| 
                  |L1.2308| 
;;;482             strcat (arg, "/FAT32"); 
000904  a1b6              ADR      r1,|L1.3040| 
000906  a801              ADD      r0,sp,#4 
000908  f7fffffe          BL       strcat 
                  |L1.2316| 
;;;483          } 
;;;484       } 
;;;485       printf ("\nFormat Flash Memory Card? [Y/N]\n"); 
00090c  a0b8              ADR      r0,|L1.3056| 
00090e  f7fffffe          BL       __2printf 
;;;486       retv = getkey(); 
000912  f7fffffe          BL       getkey 
000916  4607              MOV      r7,r0 
;;;487       if (retv == 'y' || retv == 'Y') { 
000918  2f79              CMP      r7,#0x79 
00091a  d001              BEQ      |L1.2336| 
00091c  2f59              CMP      r7,#0x59 
00091e  d10e              BNE      |L1.2366| 
                  |L1.2336| 
;;;488          /* Format the Card with Label "KEIL". "*/ 
;;;489          if (fformat (arg) == 0) { 
000920  a801              ADD      r0,sp,#4 
000922  f7fffffe          BL       fformat 
000926  b938              CBNZ     r0,|L1.2360| 
;;;490             printf ("Memory Card Formatted.\n"); 
000928  a0ba              ADR      r0,|L1.3092| 
00092a  f7fffffe          BL       __2printf 
;;;491             printf ("Card Label is %s\n",label); 
00092e  4629              MOV      r1,r5 
000930  a0be              ADR      r0,|L1.3116| 
000932  f7fffffe          BL       __2printf 
000936  e002              B        |L1.2366| 
                  |L1.2360| 
;;;492          } 
;;;493          else { 
;;;494             printf ("Formatting failed.\n"); 
000938  a0c1              ADR      r0,|L1.3136| 
00093a  f7fffffe          BL       __2printf 
                  |L1.2366| 
;;;495          } 
;;;496       } 
;;;497    } 
00093e  b007              ADD      sp,sp,#0x1c 
000940  bdf0              POP      {r4-r7,pc} 
;;;498     
                          ENDP 
 
                  cmd_help PROC 
;;;501     *---------------------------------------------------------------------------*/ 
;;;502    static void cmd_help (char *par) { 
000942  b510              PUSH     {r4,lr} 
000944  4604              MOV      r4,r0 
;;;503       printf (help); 
000946  48c3              LDR      r0,|L1.3156| 
000948  f7fffffe          BL       __2printf 
;;;504    } 
00094c  bd10              POP      {r4,pc} 
;;;505     
                          ENDP 
 
                  init_card PROC 
;;;508     *---------------------------------------------------------------------------*/ 
;;;509    static void init_card (void) { 
00094e  b53e              PUSH     {r1-r5,lr} 
;;;510       U32 retv; 
;;;511       MMCFG SDCardCfg; 
;;;512     
;;;513     
;;;514     
;;;515       while ((retv = finit ()) != 0) {           /* Wait until the Card is ready */ 
000950  e014              B        |L1.2428| 
                  |L1.2386| 
;;;516          if (retv == 1) { 
000952  2c01              CMP      r4,#1 
000954  d108              BNE      |L1.2408| 
;;;517             printf ("\nSD/MMC Init Failed"); 
000956  a0c0              ADR      r0,|L1.3160| 
000958  f7fffffe          BL       __2printf 
;;;518             printf ("\nInsert Memory card and press key...\n"); 
00095c  a0c3              ADR      r0,|L1.3180| 
00095e  f7fffffe          BL       __2printf 
;;;519             getkey (); 
000962  f7fffffe          BL       getkey 
000966  e009              B        |L1.2428| 
                  |L1.2408| 
;;;520          } 
;;;521          else { 
;;;522             printf ("\nSD/MMC Card is Unformatted"); 
000968  a0ca              ADR      r0,|L1.3220| 
00096a  f7fffffe          BL       __2printf 
;;;523             strcpy (&in_line[0], "KEIL\r\n"); 
00096e  a1d0              ADR      r1,|L1.3248| 
000970  48d1              LDR      r0,|L1.3256| 
000972  f7fffffe          BL       strcpy 
;;;524             cmd_format (&in_line[0]); 
000976  48d0              LDR      r0,|L1.3256| 
000978  f7fffffe          BL       cmd_format 
                  |L1.2428| 
00097c  f7fffffe          BL       finit 
000980  0004              MOVS     r4,r0                 ;515 
000982  d1e6              BNE      |L1.2386| 
;;;525          } 
;;;526       } 
;;;527     
;;;528       mmc_read_config (&SDCardCfg); 
000984  4668              MOV      r0,sp 
000986  f7fffffe          BL       mmc_read_config 
;;;529     
;;;530       outBuf[0] = 0; 
00098a  2000              MOVS     r0,#0 
00098c  49ca              LDR      r1,|L1.3256| 
00098e  31a0              ADDS     r1,r1,#0xa0 
000990  7008              STRB     r0,[r1,#0] 
;;;531       sprintf(&outBuf[0], " SerNr:  0x%08X", SDCardCfg.sernum); 
000992  a1ca              ADR      r1,|L1.3260| 
000994  48c8              LDR      r0,|L1.3256| 
000996  30a0              ADDS     r0,r0,#0xa0 
000998  9a00              LDR      r2,[sp,#0] 
00099a  f7fffffe          BL       __2sprintf 
;;;532    //   GLCD_displayStringLn(Line5, (unsigned char *)outBuf); 
;;;533       sprintf(&outBuf[0], " BlockNr:0x%08X", SDCardCfg.blocknr); 
00099e  a1cb              ADR      r1,|L1.3276| 
0009a0  48c5              LDR      r0,|L1.3256| 
0009a2  30a0              ADDS     r0,r0,#0xa0 
0009a4  9a01              LDR      r2,[sp,#4] 
0009a6  f7fffffe          BL       __2sprintf 
;;;534     //  GLCD_displayStringLn(Line6, (unsigned char *)outBuf); 
;;;535       sprintf(&outBuf[0], " RdLen:  0x%04X", SDCardCfg.read_blen); 
0009aa  f8bd2008          LDRH     r2,[sp,#8] 
0009ae  a1cb              ADR      r1,|L1.3292| 
0009b0  48c1              LDR      r0,|L1.3256| 
0009b2  30a0              ADDS     r0,r0,#0xa0 
0009b4  f7fffffe          BL       __2sprintf 
;;;536     //  GLCD_displayStringLn(Line7, (unsigned char *)outBuf); 
;;;537       sprintf(&outBuf[0], " WrLen:  0x%04X", SDCardCfg.write_blen); 
0009b8  f8bd200a          LDRH     r2,[sp,#0xa] 
0009bc  a1cb              ADR      r1,|L1.3308| 
0009be  48be              LDR      r0,|L1.3256| 
0009c0  30a0              ADDS     r0,r0,#0xa0 
0009c2  f7fffffe          BL       __2sprintf 
;;;538     //  GLCD_displayStringLn(Line8, (unsigned char *)outBuf); 
;;;539     
;;;540    } 
0009c6  bd3e              POP      {r1-r5,pc} 
;;;541     
                          ENDP 
 
                  main PROC 
;;;544     *---------------------------------------------------------------------------*/ 
;;;545    int main (void) { 
0009c8  b5f8              PUSH     {r3-r7,lr} 
;;;546       char *sp,*cp,*next; 
;;;547       U32 i; 
;;;548     
;;;549       SystemInit();                              /* initialize clocks           */ 
0009ca  f7fffffe          BL       SystemInit 
;;;550    //   init_display();                            /* initialize the display      */ 
;;;551       SER_init (0);                              /* initialize serial interface */ 
0009ce  2000              MOVS     r0,#0 
0009d0  f7fffffe          BL       SER_init 
;;;552     
;;;553       printf (intro);                            /* display example info        */ 
0009d4  489f              LDR      r0,|L1.3156| 
0009d6  389d              SUBS     r0,r0,#0x9d 
0009d8  f7fffffe          BL       __2printf 
;;;554       printf (help); 
0009dc  489d              LDR      r0,|L1.3156| 
0009de  f7fffffe          BL       __2printf 
;;;555     
;;;556       init_card (); 
0009e2  f7fffffe          BL       init_card 
;;;557       while (1) { 
0009e6  e040              B        |L1.2666| 
                  |L1.2536| 
;;;558          printf ("\nCmd> ");                     /* display prompt              */ 
0009e8  a0c4              ADR      r0,|L1.3324| 
0009ea  f7fffffe          BL       __2printf 
;;;559          fflush (stdout); 
0009ee  48c5              LDR      r0,|L1.3332| 
0009f0  f7fffffe          BL       fflush 
;;;560                                                  /* get command line input      */ 
;;;561          if (getline (in_line, sizeof (in_line)) == __FALSE) { 
0009f4  21a0              MOVS     r1,#0xa0 
0009f6  48b0              LDR      r0,|L1.3256| 
0009f8  f7fffffe          BL       getline 
0009fc  b900              CBNZ     r0,|L1.2560| 
;;;562             continue; 
0009fe  e034              B        |L1.2666| 
                  |L1.2560| 
;;;563          } 
;;;564     
;;;565          sp = get_entry (&in_line[0], &next); 
000a00  4669              MOV      r1,sp 
000a02  48ad              LDR      r0,|L1.3256| 
000a04  f7fffffe          BL       get_entry 
000a08  4604              MOV      r4,r0 
;;;566          if (*sp == 0) { 
000a0a  7820              LDRB     r0,[r4,#0] 
000a0c  b900              CBNZ     r0,|L1.2576| 
;;;567             continue; 
000a0e  e02c              B        |L1.2666| 
                  |L1.2576| 
;;;568          } 
;;;569          for (cp = sp; *cp && *cp != ' '; cp++) { 
000a10  4625              MOV      r5,r4 
000a12  e004              B        |L1.2590| 
                  |L1.2580| 
;;;570             *cp = toupper (*cp);                 /* command to upper-case       */ 
000a14  7828              LDRB     r0,[r5,#0] 
000a16  f7fffffe          BL       toupper 
000a1a  7028              STRB     r0,[r5,#0] 
000a1c  1c6d              ADDS     r5,r5,#1              ;569 
                  |L1.2590| 
000a1e  7828              LDRB     r0,[r5,#0]            ;569 
000a20  b110              CBZ      r0,|L1.2600| 
000a22  7828              LDRB     r0,[r5,#0]            ;569 
000a24  2820              CMP      r0,#0x20              ;569 
000a26  d1f5              BNE      |L1.2580| 
                  |L1.2600| 
;;;571          } 
;;;572          for (i = 0; i < CMD_COUNT; i++) { 
000a28  2600              MOVS     r6,#0 
000a2a  e015              B        |L1.2648| 
                  |L1.2604| 
;;;573             if (strcmp (sp, (const char *)&cmd[i].val)) { 
000a2c  eb060046          ADD      r0,r6,r6,LSL #1 
000a30  4ab5              LDR      r2,|L1.3336| 
000a32  eb020180          ADD      r1,r2,r0,LSL #2 
000a36  4620              MOV      r0,r4 
000a38  f7fffffe          BL       strcmp 
000a3c  b100              CBZ      r0,|L1.2624| 
;;;574                continue; 
000a3e  e00a              B        |L1.2646| 
                  |L1.2624| 
;;;575             } 
;;;576             init_card();                         /* check if card is removed    */ 
000a40  f7fffffe          BL       init_card 
;;;577             cmd[i].func (next);                  /* execute command function    */ 
000a44  eb060046          ADD      r0,r6,r6,LSL #1 
000a48  4aaf              LDR      r2,|L1.3336| 
000a4a  eb020080          ADD      r0,r2,r0,LSL #2 
000a4e  6881              LDR      r1,[r0,#8] 
000a50  9800              LDR      r0,[sp,#0] 
000a52  4788              BLX      r1 
;;;578             break; 
000a54  e002              B        |L1.2652| 
                  |L1.2646| 
000a56  1c76              ADDS     r6,r6,#1              ;572 
                  |L1.2648| 
000a58  2e0a              CMP      r6,#0xa               ;572 
000a5a  d3e7              BCC      |L1.2604| 
                  |L1.2652| 
000a5c  bf00              NOP       
;;;579          } 
;;;580          if (i == CMD_COUNT) { 
000a5e  2e0a              CMP      r6,#0xa 
000a60  d102              BNE      |L1.2664| 
;;;581            printf ("\nCommand error\n"); 
000a62  a0aa              ADR      r0,|L1.3340| 
000a64  f7fffffe          BL       __2printf 
                  |L1.2664| 
000a68  bf00              NOP                            ;562 
                  |L1.2666| 
000a6a  e7bd              B        |L1.2536| 
;;;582          } 
;;;583       } 
;;;584    } 
;;;585     
                          ENDP 
 
                  |L1.2668| 
000a6c  0a257320627974657320636f706965642e0a00        DCB      "\n%s bytes copied.\n",0 
000a7f  00                DCB      0 
                  |L1.2688| 
000a80  0a4469726563746f72792025732064656c657465642e0a00        DCB      "\nDirectory %s deleted.\n",0 
                  |L1.2712| 
000a98  0a46696c652025732064656c657465642e0a00        DCB      "\nFile %s deleted.\n",0 
000aab  00                DCB      0 
                  |L1.2732| 
000aac  0a4469726563746f7279202573206e6f7420666f756e64206f72206e6f7420656d7074792e0a00        DCB      "\nDirectory %s not found or not empty.\n",0 
000ad3  00                DCB      0 
                  |L1.2772| 
000ad4  0a46696c65202573206e6f7420666f756e642e0a        DCB      "\nFile %s not found.\n" 
                  |L1.2792| 
000ae8  00                DCB      0 
000ae9  00                DCB      0 
000aea  00                DCB      0 
000aeb  00                DCB      0 
                  |L1.2796| 
000aec  2a2e2a00          DCB      "*.*",0 
                  |L1.2800| 
000af0  0a46696c652053797374656d204469726563746f72792e2e2e00        DCB      "\nFile System Directory...",0 
000b0a  00                DCB      0 
000b0b  00                DCB      0 
                  |L1.2828| 
000b0c  0a252d34317300        DCB      "\n%-41s",0 
000b13  00                DCB      0 
                  |L1.2836| 
000b14  0a252d343173202020203c4449523e2020202020202000        DCB      "\n%-41s    <DIR>       ",0 
000b2b  00                DCB      0 
                  |L1.2860| 
000b2c  2020253032642e253032642e253034642020253032643a2530326400        DCB      "  %02d.%02d.%04d  %02d:%02d",0 
                  |L1.2888| 
000b48  0a252d34317320253134732000        DCB      "\n%-41s %14s ",0 
000b55  00                DCB      0 
000b56  00                DCB      0 
000b57  00                DCB      0 
                  |L1.2904| 
000b58  0a4e6f2066696c65732e2e2e00        DCB      "\nNo files...",0 
000b65  00                DCB      0 
000b66  00                DCB      0 
000b67  00                DCB      0 
                  |L1.2920| 
000b68  0a20202020202020202020202020202539642046696c65287329202020202532317320627974657300        DCB      "\n              %9d File(s)    %21s bytes",0 
000b91  00                DCB      0 
000b92  00                DCB      0 
000b93  00                DCB      0 
                  |L1.2964| 
000b94  0a20202020202020202020202020202539642044697228732920202020202532317320627974657320667265652e0a00        DCB      "\n              %9d Dir(s)     %21s bytes free.\n",0 
                  |L1.3012| 
000bc4  0a2535367320627974657320667265652e0a00        DCB      "\n%56s bytes free.\n",0 
000bd7  00                DCB      0 
                  |L1.3032| 
000bd8  4b45494c00        DCB      "KEIL",0 
000bdd  00                DCB      0 
000bde  00                DCB      0 
000bdf  00                DCB      0 
                  |L1.3040| 
000be0  2f464154333200        DCB      "/FAT32",0 
000be7  00                DCB      0 
                  |L1.3048| 
000be8  2f666174333200        DCB      "/fat32",0 
000bef  00                DCB      0 
                  |L1.3056| 
000bf0  0a466f726d617420466c617368204d656d6f727920436172643f205b592f4e5d0a00        DCB      "\nFormat Flash Memory Card? [Y/N]\n",0 
000c12  00                DCB      0 
000c13  00                DCB      0 
                  |L1.3092| 
000c14  4d656d6f7279204361726420466f726d61747465642e0a00        DCB      "Memory Card Formatted.\n",0 
                  |L1.3116| 
000c2c  43617264204c6162656c2069732025730a00        DCB      "Card Label is %s\n",0 
000c3e  00                DCB      0 
000c3f  00                DCB      0 
                  |L1.3136| 
000c40  466f726d617474696e67206661696c65642e0a00        DCB      "Formatting failed.\n",0 
                  |L1.3156| 
                          DCD      ||.constdata||+0x9d 
                  |L1.3160| 
000c58  0a53442f4d4d4320496e6974204661696c656400        DCB      "\nSD/MMC Init Failed",0 
                  |L1.3180| 
000c6c  0a496e73657274204d656d6f7279206361726420616e64207072657373206b65792e2e2e0a00        DCB      "\nInsert Memory card and press key...\n",0 
000c92  00                DCB      0 
000c93  00                DCB      0 
                  |L1.3220| 
000c94  0a53442f4d4d43204361726420697320556e666f726d617474656400        DCB      "\nSD/MMC Card is Unformatted",0 
                  |L1.3248| 
000cb0  4b45494c0d0a00        DCB      "KEIL\r\n",0 
000cb7  00                DCB      0 
                  |L1.3256| 
                          DCD      ||.bss|| 
                  |L1.3260| 
000cbc  205365724e723a202030782530385800        DCB      " SerNr:  0x%08X",0 
                  |L1.3276| 
000ccc  20426c6f636b4e723a30782530385800        DCB      " BlockNr:0x%08X",0 
                  |L1.3292| 
000cdc  2052644c656e3a202030782530345800        DCB      " RdLen:  0x%04X",0 
                  |L1.3308| 
000cec  2057724c656e3a202030782530345800        DCB      " WrLen:  0x%04X",0 
                  |L1.3324| 
000cfc  0a436d643e2000        DCB      "\nCmd> ",0 
000d03  00                DCB      0 
                  |L1.3332| 
                          DCD      __stdout 
                  |L1.3336| 
                          DCD      ||.constdata||+0x4f4 
                  |L1.3340| 
000d0c  0a436f6d6d616e64206572726f720a00        DCB      "\nCommand error\n",0 
 
                          AREA ||.bss||, DATA, NOINIT, ALIGN=0 
 
                  in_line 
                          %        160 
                  outBuf 
                          %        26 
 
                          AREA ||.constdata||, DATA, READONLY, ALIGN=2 
 
                  intro 
000000  0a0a0a0a          DCB      0x0a,0x0a,0x0a,0x0a 
000004  0a0a0a0a          DCB      0x0a,0x0a,0x0a,0x0a 
000008  2b2d2d2d          DCB      0x2b,0x2d,0x2d,0x2d 
00000c  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
000010  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
000014  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
000018  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
00001c  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
000020  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
000024  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
000028  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
00002c  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
000030  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
000034  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
000038  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
00003c  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
000040  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
000044  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
000048  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
00004c  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
000050  2b0a7c20          DCB      0x2b,0x0a,0x7c,0x20 
000054  20202020          DCB      0x20,0x20,0x20,0x20 
000058  20202020          DCB      0x20,0x20,0x20,0x20 
00005c  20202020          DCB      0x20,0x20,0x20,0x20 
000060  20202053          DCB      0x20,0x20,0x20,0x53 
000064  442f4d4d          DCB      0x44,0x2f,0x4d,0x4d 
000068  43204361          DCB      0x43,0x20,0x43,0x61 
00006c  72642046          DCB      0x72,0x64,0x20,0x46 
000070  696c6520          DCB      0x69,0x6c,0x65,0x20 
000074  4d616e69          DCB      0x4d,0x61,0x6e,0x69 
000078  70756c61          DCB      0x70,0x75,0x6c,0x61 
00007c  74696f6e          DCB      0x74,0x69,0x6f,0x6e 
000080  20657861          DCB      0x20,0x65,0x78,0x61 
000084  6d706c65          DCB      0x6d,0x70,0x6c,0x65 
000088  20202020          DCB      0x20,0x20,0x20,0x20 
00008c  20202020          DCB      0x20,0x20,0x20,0x20 
000090  20202020          DCB      0x20,0x20,0x20,0x20 
000094  20202020          DCB      0x20,0x20,0x20,0x20 
000098  20207c0a          DCB      0x20,0x20,0x7c,0x0a 
00009c  00                DCB      0x00 
                  help 
00009d  2b2063            DCB      0x2b,0x20,0x63 
0000a0  6f6d6d61          DCB      0x6f,0x6d,0x6d,0x61 
0000a4  6e64202d          DCB      0x6e,0x64,0x20,0x2d 
0000a8  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0000ac  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0000b0  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0000b4  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0000b8  2d2b2066          DCB      0x2d,0x2b,0x20,0x66 
0000bc  756e6374          DCB      0x75,0x6e,0x63,0x74 
0000c0  696f6e20          DCB      0x69,0x6f,0x6e,0x20 
0000c4  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0000c8  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0000cc  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0000d0  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0000d4  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0000d8  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0000dc  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0000e0  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0000e4  2d2b0a7c          DCB      0x2d,0x2b,0x0a,0x7c 
0000e8  20434150          DCB      0x20,0x43,0x41,0x50 
0000ec  2022666e          DCB      0x20,0x22,0x66,0x6e 
0000f0  616d6522          DCB      0x61,0x6d,0x65,0x22 
0000f4  205b2f41          DCB      0x20,0x5b,0x2f,0x41 
0000f8  5d202020          DCB      0x5d,0x20,0x20,0x20 
0000fc  20202020          DCB      0x20,0x20,0x20,0x20 
000100  2020207c          DCB      0x20,0x20,0x20,0x7c 
000104  20636170          DCB      0x20,0x63,0x61,0x70 
000108  74757265          DCB      0x74,0x75,0x72,0x65 
00010c  73207365          DCB      0x73,0x20,0x73,0x65 
000110  7269616c          DCB      0x72,0x69,0x61,0x6c 
000114  20646174          DCB      0x20,0x64,0x61,0x74 
000118  6120746f          DCB      0x61,0x20,0x74,0x6f 
00011c  20612066          DCB      0x20,0x61,0x20,0x66 
000120  696c6520          DCB      0x69,0x6c,0x65,0x20 
000124  20202020          DCB      0x20,0x20,0x20,0x20 
000128  20202020          DCB      0x20,0x20,0x20,0x20 
00012c  2020207c          DCB      0x20,0x20,0x20,0x7c 
000130  0a7c2020          DCB      0x0a,0x7c,0x20,0x20 
000134  20202020          DCB      0x20,0x20,0x20,0x20 
000138  20202020          DCB      0x20,0x20,0x20,0x20 
00013c  20202020          DCB      0x20,0x20,0x20,0x20 
000140  20202020          DCB      0x20,0x20,0x20,0x20 
000144  20202020          DCB      0x20,0x20,0x20,0x20 
000148  20202020          DCB      0x20,0x20,0x20,0x20 
00014c  207c2020          DCB      0x20,0x7c,0x20,0x20 
000150  5b2f4120          DCB      0x5b,0x2f,0x41,0x20 
000154  6f707469          DCB      0x6f,0x70,0x74,0x69 
000158  6f6e2061          DCB      0x6f,0x6e,0x20,0x61 
00015c  7070656e          DCB      0x70,0x70,0x65,0x6e 
000160  64732064          DCB      0x64,0x73,0x20,0x64 
000164  61746120          DCB      0x61,0x74,0x61,0x20 
000168  746f2061          DCB      0x74,0x6f,0x20,0x61 
00016c  2066696c          DCB      0x20,0x66,0x69,0x6c 
000170  655d2020          DCB      0x65,0x5d,0x20,0x20 
000174  20202020          DCB      0x20,0x20,0x20,0x20 
000178  207c0a7c          DCB      0x20,0x7c,0x0a,0x7c 
00017c  2046494c          DCB      0x20,0x46,0x49,0x4c 
000180  4c202266          DCB      0x4c,0x20,0x22,0x66 
000184  6e616d65          DCB      0x6e,0x61,0x6d,0x65 
000188  22205b6e          DCB      0x22,0x20,0x5b,0x6e 
00018c  6e6e6e5d          DCB      0x6e,0x6e,0x6e,0x5d 
000190  20202020          DCB      0x20,0x20,0x20,0x20 
000194  2020207c          DCB      0x20,0x20,0x20,0x7c 
000198  20637265          DCB      0x20,0x63,0x72,0x65 
00019c  61746520          DCB      0x61,0x74,0x65,0x20 
0001a0  61206669          DCB      0x61,0x20,0x66,0x69 
0001a4  6c652066          DCB      0x6c,0x65,0x20,0x66 
0001a8  696c6c65          DCB      0x69,0x6c,0x6c,0x65 
0001ac  64207769          DCB      0x64,0x20,0x77,0x69 
0001b0  74682074          DCB      0x74,0x68,0x20,0x74 
0001b4  65787420          DCB      0x65,0x78,0x74,0x20 
0001b8  20202020          DCB      0x20,0x20,0x20,0x20 
0001bc  20202020          DCB      0x20,0x20,0x20,0x20 
0001c0  2020207c          DCB      0x20,0x20,0x20,0x7c 
0001c4  0a7c2020          DCB      0x0a,0x7c,0x20,0x20 
0001c8  20202020          DCB      0x20,0x20,0x20,0x20 
0001cc  20202020          DCB      0x20,0x20,0x20,0x20 
0001d0  20202020          DCB      0x20,0x20,0x20,0x20 
0001d4  20202020          DCB      0x20,0x20,0x20,0x20 
0001d8  20202020          DCB      0x20,0x20,0x20,0x20 
0001dc  20202020          DCB      0x20,0x20,0x20,0x20 
0001e0  207c2020          DCB      0x20,0x7c,0x20,0x20 
0001e4  5b6e6e6e          DCB      0x5b,0x6e,0x6e,0x6e 
0001e8  6e202d20          DCB      0x6e,0x20,0x2d,0x20 
0001ec  6e756d62          DCB      0x6e,0x75,0x6d,0x62 
0001f0  6572206f          DCB      0x65,0x72,0x20,0x6f 
0001f4  66206c69          DCB      0x66,0x20,0x6c,0x69 
0001f8  6e65732c          DCB      0x6e,0x65,0x73,0x2c 
0001fc  20646566          DCB      0x20,0x64,0x65,0x66 
000200  61756c74          DCB      0x61,0x75,0x6c,0x74 
000204  3d313030          DCB      0x3d,0x31,0x30,0x30 
000208  305d2020          DCB      0x30,0x5d,0x20,0x20 
00020c  207c0a7c          DCB      0x20,0x7c,0x0a,0x7c 
000210  20545950          DCB      0x20,0x54,0x59,0x50 
000214  45202266          DCB      0x45,0x20,0x22,0x66 
000218  6e616d65          DCB      0x6e,0x61,0x6d,0x65 
00021c  22202020          DCB      0x22,0x20,0x20,0x20 
000220  20202020          DCB      0x20,0x20,0x20,0x20 
000224  20202020          DCB      0x20,0x20,0x20,0x20 
000228  2020207c          DCB      0x20,0x20,0x20,0x7c 
00022c  20646973          DCB      0x20,0x64,0x69,0x73 
000230  706c6179          DCB      0x70,0x6c,0x61,0x79 
000234  73207468          DCB      0x73,0x20,0x74,0x68 
000238  6520636f          DCB      0x65,0x20,0x63,0x6f 
00023c  6e74656e          DCB      0x6e,0x74,0x65,0x6e 
000240  74206f66          DCB      0x74,0x20,0x6f,0x66 
000244  20612074          DCB      0x20,0x61,0x20,0x74 
000248  65787420          DCB      0x65,0x78,0x74,0x20 
00024c  66696c65          DCB      0x66,0x69,0x6c,0x65 
000250  20202020          DCB      0x20,0x20,0x20,0x20 
000254  2020207c          DCB      0x20,0x20,0x20,0x7c 
000258  0a7c2052          DCB      0x0a,0x7c,0x20,0x52 
00025c  454e2022          DCB      0x45,0x4e,0x20,0x22 
000260  666e616d          DCB      0x66,0x6e,0x61,0x6d 
000264  65312220          DCB      0x65,0x31,0x22,0x20 
000268  22666e61          DCB      0x22,0x66,0x6e,0x61 
00026c  6d653222          DCB      0x6d,0x65,0x32,0x22 
000270  20202020          DCB      0x20,0x20,0x20,0x20 
000274  207c2072          DCB      0x20,0x7c,0x20,0x72 
000278  656e616d          DCB      0x65,0x6e,0x61,0x6d 
00027c  65732061          DCB      0x65,0x73,0x20,0x61 
000280  2066696c          DCB      0x20,0x66,0x69,0x6c 
000284  65202766          DCB      0x65,0x20,0x27,0x66 
000288  6e616d65          DCB      0x6e,0x61,0x6d,0x65 
00028c  31272074          DCB      0x31,0x27,0x20,0x74 
000290  6f202766          DCB      0x6f,0x20,0x27,0x66 
000294  6e616d65          DCB      0x6e,0x61,0x6d,0x65 
000298  32272020          DCB      0x32,0x27,0x20,0x20 
00029c  20202020          DCB      0x20,0x20,0x20,0x20 
0002a0  207c0a7c          DCB      0x20,0x7c,0x0a,0x7c 
0002a4  20434f50          DCB      0x20,0x43,0x4f,0x50 
0002a8  59202266          DCB      0x59,0x20,0x22,0x66 
0002ac  696e2220          DCB      0x69,0x6e,0x22,0x20 
0002b0  5b226669          DCB      0x5b,0x22,0x66,0x69 
0002b4  6e32225d          DCB      0x6e,0x32,0x22,0x5d 
0002b8  2022666f          DCB      0x20,0x22,0x66,0x6f 
0002bc  7574227c          DCB      0x75,0x74,0x22,0x7c 
0002c0  20636f70          DCB      0x20,0x63,0x6f,0x70 
0002c4  69657320          DCB      0x69,0x65,0x73,0x20 
0002c8  61206669          DCB      0x61,0x20,0x66,0x69 
0002cc  6c652027          DCB      0x6c,0x65,0x20,0x27 
0002d0  66696e27          DCB      0x66,0x69,0x6e,0x27 
0002d4  20746f20          DCB      0x20,0x74,0x6f,0x20 
0002d8  27666f75          DCB      0x27,0x66,0x6f,0x75 
0002dc  74272066          DCB      0x74,0x27,0x20,0x66 
0002e0  696c6520          DCB      0x69,0x6c,0x65,0x20 
0002e4  20202020          DCB      0x20,0x20,0x20,0x20 
0002e8  2020207c          DCB      0x20,0x20,0x20,0x7c 
0002ec  0a7c2020          DCB      0x0a,0x7c,0x20,0x20 
0002f0  20202020          DCB      0x20,0x20,0x20,0x20 
0002f4  20202020          DCB      0x20,0x20,0x20,0x20 
0002f8  20202020          DCB      0x20,0x20,0x20,0x20 
0002fc  20202020          DCB      0x20,0x20,0x20,0x20 
000300  20202020          DCB      0x20,0x20,0x20,0x20 
000304  20202020          DCB      0x20,0x20,0x20,0x20 
000308  207c2020          DCB      0x20,0x7c,0x20,0x20 
00030c  5b276669          DCB      0x5b,0x27,0x66,0x69 
000310  6e322720          DCB      0x6e,0x32,0x27,0x20 
000314  6f707469          DCB      0x6f,0x70,0x74,0x69 
000318  6f6e206d          DCB      0x6f,0x6e,0x20,0x6d 
00031c  65726765          DCB      0x65,0x72,0x67,0x65 
000320  73202766          DCB      0x73,0x20,0x27,0x66 
000324  696e2720          DCB      0x69,0x6e,0x27,0x20 
000328  616e6420          DCB      0x61,0x6e,0x64,0x20 
00032c  2766696e          DCB      0x27,0x66,0x69,0x6e 
000330  32275d20          DCB      0x32,0x27,0x5d,0x20 
000334  207c0a7c          DCB      0x20,0x7c,0x0a,0x7c 
000338  2044454c          DCB      0x20,0x44,0x45,0x4c 
00033c  2022666e          DCB      0x20,0x22,0x66,0x6e 
000340  616d6522          DCB      0x61,0x6d,0x65,0x22 
000344  20202020          DCB      0x20,0x20,0x20,0x20 
000348  20202020          DCB      0x20,0x20,0x20,0x20 
00034c  20202020          DCB      0x20,0x20,0x20,0x20 
000350  2020207c          DCB      0x20,0x20,0x20,0x7c 
000354  2064656c          DCB      0x20,0x64,0x65,0x6c 
000358  65746573          DCB      0x65,0x74,0x65,0x73 
00035c  20612066          DCB      0x20,0x61,0x20,0x66 
000360  696c6520          DCB      0x69,0x6c,0x65,0x20 
000364  20202020          DCB      0x20,0x20,0x20,0x20 
000368  20202020          DCB      0x20,0x20,0x20,0x20 
00036c  20202020          DCB      0x20,0x20,0x20,0x20 
000370  20202020          DCB      0x20,0x20,0x20,0x20 
000374  20202020          DCB      0x20,0x20,0x20,0x20 
000378  20202020          DCB      0x20,0x20,0x20,0x20 
00037c  2020207c          DCB      0x20,0x20,0x20,0x7c 
000380  0a7c2044          DCB      0x0a,0x7c,0x20,0x44 
000384  49522022          DCB      0x49,0x52,0x20,0x22 
000388  5b6d6173          DCB      0x5b,0x6d,0x61,0x73 
00038c  6b5d2220          DCB      0x6b,0x5d,0x22,0x20 
000390  20202020          DCB      0x20,0x20,0x20,0x20 
000394  20202020          DCB      0x20,0x20,0x20,0x20 
000398  20202020          DCB      0x20,0x20,0x20,0x20 
00039c  207c2064          DCB      0x20,0x7c,0x20,0x64 
0003a0  6973706c          DCB      0x69,0x73,0x70,0x6c 
0003a4  61797320          DCB      0x61,0x79,0x73,0x20 
0003a8  61206c69          DCB      0x61,0x20,0x6c,0x69 
0003ac  7374206f          DCB      0x73,0x74,0x20,0x6f 
0003b0  66206669          DCB      0x66,0x20,0x66,0x69 
0003b4  6c657320          DCB      0x6c,0x65,0x73,0x20 
0003b8  696e2074          DCB      0x69,0x6e,0x20,0x74 
0003bc  68652064          DCB      0x68,0x65,0x20,0x64 
0003c0  69726563          DCB      0x69,0x72,0x65,0x63 
0003c4  746f7279          DCB      0x74,0x6f,0x72,0x79 
0003c8  207c0a7c          DCB      0x20,0x7c,0x0a,0x7c 
0003cc  20464f52          DCB      0x20,0x46,0x4f,0x52 
0003d0  4d415420          DCB      0x4d,0x41,0x54,0x20 
0003d4  5b6c6162          DCB      0x5b,0x6c,0x61,0x62 
0003d8  656c205b          DCB      0x65,0x6c,0x20,0x5b 
0003dc  2f464154          DCB      0x2f,0x46,0x41,0x54 
0003e0  33325d5d          DCB      0x33,0x32,0x5d,0x5d 
0003e4  2020207c          DCB      0x20,0x20,0x20,0x7c 
0003e8  20666f72          DCB      0x20,0x66,0x6f,0x72 
0003ec  6d617473          DCB      0x6d,0x61,0x74,0x73 
0003f0  20466c61          DCB      0x20,0x46,0x6c,0x61 
0003f4  7368204d          DCB      0x73,0x68,0x20,0x4d 
0003f8  656d6f72          DCB      0x65,0x6d,0x6f,0x72 
0003fc  79204361          DCB      0x79,0x20,0x43,0x61 
000400  72642020          DCB      0x72,0x64,0x20,0x20 
000404  20202020          DCB      0x20,0x20,0x20,0x20 
000408  20202020          DCB      0x20,0x20,0x20,0x20 
00040c  20202020          DCB      0x20,0x20,0x20,0x20 
000410  2020207c          DCB      0x20,0x20,0x20,0x7c 
000414  0a7c2020          DCB      0x0a,0x7c,0x20,0x20 
000418  20202020          DCB      0x20,0x20,0x20,0x20 
00041c  20202020          DCB      0x20,0x20,0x20,0x20 
000420  20202020          DCB      0x20,0x20,0x20,0x20 
000424  20202020          DCB      0x20,0x20,0x20,0x20 
000428  20202020          DCB      0x20,0x20,0x20,0x20 
00042c  20202020          DCB      0x20,0x20,0x20,0x20 
000430  207c205b          DCB      0x20,0x7c,0x20,0x5b 
000434  2f464154          DCB      0x2f,0x46,0x41,0x54 
000438  3332206f          DCB      0x33,0x32,0x20,0x6f 
00043c  7074696f          DCB      0x70,0x74,0x69,0x6f 
000440  6e207365          DCB      0x6e,0x20,0x73,0x65 
000444  6c656374          DCB      0x6c,0x65,0x63,0x74 
000448  73204641          DCB      0x73,0x20,0x46,0x41 
00044c  54333220          DCB      0x54,0x33,0x32,0x20 
000450  66696c65          DCB      0x66,0x69,0x6c,0x65 
000454  20737973          DCB      0x20,0x73,0x79,0x73 
000458  74656d5d          DCB      0x74,0x65,0x6d,0x5d 
00045c  207c0a7c          DCB      0x20,0x7c,0x0a,0x7c 
000460  2048454c          DCB      0x20,0x48,0x45,0x4c 
000464  5020206f          DCB      0x50,0x20,0x20,0x6f 
000468  7220203f          DCB      0x72,0x20,0x20,0x3f 
00046c  20202020          DCB      0x20,0x20,0x20,0x20 
000470  20202020          DCB      0x20,0x20,0x20,0x20 
000474  20202020          DCB      0x20,0x20,0x20,0x20 
000478  2020207c          DCB      0x20,0x20,0x20,0x7c 
00047c  20646973          DCB      0x20,0x64,0x69,0x73 
000480  706c6179          DCB      0x70,0x6c,0x61,0x79 
000484  73207468          DCB      0x73,0x20,0x74,0x68 
000488  69732068          DCB      0x69,0x73,0x20,0x68 
00048c  656c7020          DCB      0x65,0x6c,0x70,0x20 
000490  20202020          DCB      0x20,0x20,0x20,0x20 
000494  20202020          DCB      0x20,0x20,0x20,0x20 
000498  20202020          DCB      0x20,0x20,0x20,0x20 
00049c  20202020          DCB      0x20,0x20,0x20,0x20 
0004a0  20202020          DCB      0x20,0x20,0x20,0x20 
0004a4  2020207c          DCB      0x20,0x20,0x20,0x7c 
0004a8  0a2b2d2d          DCB      0x0a,0x2b,0x2d,0x2d 
0004ac  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0004b0  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0004b4  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0004b8  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0004bc  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0004c0  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0004c4  2d2b2d2d          DCB      0x2d,0x2b,0x2d,0x2d 
0004c8  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0004cc  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0004d0  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0004d4  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0004d8  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0004dc  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0004e0  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0004e4  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0004e8  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0004ec  2d2d2d2d          DCB      0x2d,0x2d,0x2d,0x2d 
0004f0  2d2b0a00          DCB      0x2d,0x2b,0x0a,0x00 
                  ||cmd|| 
0004f4  43415000          DCB      0x43,0x41,0x50,0x00 
                          DCD      0x00000000 
                          DCD      cmd_capture 
000500  54595045          DCB      0x54,0x59,0x50,0x45 
000504  00000000          DCB      0x00,0x00,0x00,0x00 
                          DCD      cmd_type 
00050c  52454e00          DCB      0x52,0x45,0x4e,0x00 
                          DCD      0x00000000 
                          DCD      cmd_rename 
000518  434f5059          DCB      0x43,0x4f,0x50,0x59 
00051c  00000000          DCB      0x00,0x00,0x00,0x00 
                          DCD      cmd_copy 
000524  44454c00          DCB      0x44,0x45,0x4c,0x00 
                          DCD      0x00000000 
                          DCD      cmd_delete 
000530  44495200          DCB      0x44,0x49,0x52,0x00 
                          DCD      0x00000000 
                          DCD      cmd_dir 
00053c  464f524d          DCB      0x46,0x4f,0x52,0x4d 
000540  41540000          DCB      0x41,0x54,0x00,0x00 
                          DCD      cmd_format 
000548  48454c50          DCB      0x48,0x45,0x4c,0x50 
00054c  00000000          DCB      0x00,0x00,0x00,0x00 
                          DCD      cmd_help 
000554  46494c4c          DCB      0x46,0x49,0x4c,0x4c 
000558  00000000          DCB      0x00,0x00,0x00,0x00 
                          DCD      cmd_fill 
000560  3f000000          DCB      0x3f,0x00,0x00,0x00 
                          DCD      0x00000000 
                          DCD      cmd_help 
 
                  __ARM_use_no_argv EQU 0