⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -