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

📄 ms_bot.lst

📁 at91sam7x256 FREERTOS sd卡的读写程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   00000088   1204               LSL         R2,R2,#+16
   \   0000008A   0A43               ORR         R2,R1
   \   0000008C   717A               LDRB        R1,[R6, #+9]
   \   0000008E   0902               LSL         R1,R1,#+8
   \   00000090   1143               ORR         R1,R2
   \   00000092   327A               LDRB        R2,[R6, #+8]
   \   00000094   0A43               ORR         R2,R1
   \   00000096   C262               STR         R2,[R0, #+44]
    341          
    342          
    343                  _status = rbc_write_10(&_bot_cdb->write);
   \   00000098   6846               MOV         R0,SP
   \   0000009A   0F30               ADD         R0,#+15
   \   0000009C   ........           _BLF        rbc_write_10,??rbc_write_10??rT
   \   000000A0   C8E0               B           ??ms_idleRx_13
    344                break;
    345          
    346                case RBC_READ_10:
    347                  /* Process the RBC READ_10 command  */
    348                  TRACE_DEBUG_H( "READ_10\n\r");
    349                  usbms_context.usb_lun[usbms_context.current_lun].cur_request.transferred_size = 0L;
   \                     ??ms_idleRx_9:
   \   000000A2   3821               MOV         R1,#+56
   \   000000A4   4843               MUL         R0,R1
   \   000000A6   ....               LDR         R1,??DataTable15   ;; usbms_context
   \   000000A8   0818               ADD         R0,R1,R0
   \   000000AA   0021               MOV         R1,#+0
   \   000000AC   4163               STR         R1,[R0, #+52]
    350                  usbms_context.usb_lun[usbms_context.current_lun].cur_request.buffer_size = (_cbw->dCBWDataTransferLength_3<<24)
    351                                                                |(_cbw->dCBWDataTransferLength_2<<16)
    352                                                                |(_cbw->dCBWDataTransferLength_1<<8)
    353                                                                |(_cbw->dCBWDataTransferLength_0);
   \   000000AE   687A               LDRB        R0,[R5, #+9]
   \   000000B0   3821               MOV         R1,#+56
   \   000000B2   4843               MUL         R0,R1
   \   000000B4   ....               LDR         R1,??DataTable15   ;; usbms_context
   \   000000B6   0818               ADD         R0,R1,R0
   \   000000B8   F17A               LDRB        R1,[R6, #+11]
   \   000000BA   0906               LSL         R1,R1,#+24
   \   000000BC   B27A               LDRB        R2,[R6, #+10]
   \   000000BE   1204               LSL         R2,R2,#+16
   \   000000C0   0A43               ORR         R2,R1
   \   000000C2   717A               LDRB        R1,[R6, #+9]
   \   000000C4   0902               LSL         R1,R1,#+8
   \   000000C6   1143               ORR         R1,R2
   \   000000C8   327A               LDRB        R2,[R6, #+8]
   \   000000CA   0A43               ORR         R2,R1
   \   000000CC   C262               STR         R2,[R0, #+44]
    354                  _status = rbc_read_10(&_bot_cdb->read);
   \   000000CE   6846               MOV         R0,SP
   \   000000D0   0F30               ADD         R0,#+15
   \   000000D2   ........           _BLF        rbc_read_10,??rbc_read_10??rT
   \   000000D6   ADE0               B           ??ms_idleRx_13
    355          
    356                break;
    357          
    358                case RBC_INQUIRY:
    359                  /* Process the RBC INQUIRY request  */
    360                  TRACE_DEBUG_H( "INQUIRY\n\r");
    361                  _status = rbc_inquiry(&_bot_cdb->inquiry);
   \                     ??ms_idleRx_3:
   \   000000D8   6846               MOV         R0,SP
   \   000000DA   0F30               ADD         R0,#+15
   \   000000DC   ........           _BLF        rbc_inquiry,??rbc_inquiry??rT
    362          
    363                  usbms_context.usb_lun[usbms_context.current_lun].cur_request.buffer_size = (_cbw->dCBWDataTransferLength_3<<24)
    364                                                                |(_cbw->dCBWDataTransferLength_2<<16)
    365                                                                |(_cbw->dCBWDataTransferLength_1<<8)
    366                                                                |(_cbw->dCBWDataTransferLength_0);
   \   000000E0   697A               LDRB        R1,[R5, #+9]
   \   000000E2   3822               MOV         R2,#+56
   \   000000E4   5143               MUL         R1,R2
   \   000000E6   ....               LDR         R2,??DataTable15   ;; usbms_context
   \   000000E8   5118               ADD         R1,R2,R1
   \   000000EA   F27A               LDRB        R2,[R6, #+11]
   \   000000EC   1306               LSL         R3,R2,#+24
   \   000000EE   B27A               LDRB        R2,[R6, #+10]
   \   000000F0   1204               LSL         R2,R2,#+16
   \   000000F2   1A43               ORR         R2,R3
   \   000000F4   737A               LDRB        R3,[R6, #+9]
   \   000000F6   1B02               LSL         R3,R3,#+8
   \   000000F8   1343               ORR         R3,R2
   \   000000FA   327A               LDRB        R2,[R6, #+8]
   \   000000FC   1A43               ORR         R2,R3
   \   000000FE   CA62               STR         R2,[R1, #+44]
    367                  if (USBMS_OK == _status)
   \   00000100   0028               CMP         R0,#+0
   \   00000102   05D1               BNE         ??ms_idleRx_14
    368                  {
    369                    /* the command has been fully processed  */
    370                    ms_computeCSW(GOOD_STATUS,0);
   \                     ??ms_idleRx_15:
   \   00000104   0021               MOV         R1,#+0
   \   00000106   0020               MOV         R0,#+0
   \   00000108   ........           BL          ms_computeCSW
    371                    usbms_context.state = USB_SEND_NO_FLASH;
   \   0000010C   0320               MOV         R0,#+3
   \   0000010E   90E0               B           ??ms_idleRx_16
    372                  }
    373                  else
    374                  {
    375                    /* an error occured during the processing  */
    376                    ms_update_sense_data( SENSE_KEY_ILLEGAL_REQUEST, ASC_INVALID_FIELD_IN_CDB, ASCQ_00 );
   \                     ??ms_idleRx_14:
   \   00000110   0022               MOV         R2,#+0
   \   00000112   2421               MOV         R1,#+36
   \   00000114   0520               MOV         R0,#+5
   \   00000116   ........           BL          ms_update_sense_data
    377                    ms_computeCSW(COMMAND_FAILED,usbms_context.usb_lun[usbms_context.current_lun].cur_request.buffer_size);
   \   0000011A   687A               LDRB        R0,[R5, #+9]
   \   0000011C   3821               MOV         R1,#+56
   \   0000011E   4843               MUL         R0,R1
   \   00000120   ....               LDR         R1,??DataTable15   ;; usbms_context
   \   00000122   0818               ADD         R0,R1,R0
   \   00000124   C16A               LDR         R1,[R0, #+44]
   \   00000126   0120               MOV         R0,#+1
   \   00000128   ........           BL          ms_computeCSW
    378          
    379                    ms_stallPipe(FW_EP_BULK_IN);
   \   0000012C   0120               MOV         R0,#+1
   \   0000012E   ........           BL          ms_stallPipe
    380                    /* an error occured, so the internal state changes to RESET_IN_PROGRESS  */
    381                    usbms_context.state = RESET_IN_PROGRESS;
   \   00000132   0420               MOV         R0,#+4
   \   00000134   7DE0               B           ??ms_idleRx_16
    382                  }
    383                break;
    384          
    385                case RBC_MODE_SELECT:
    386                  /* Process the RBC MODE_SELECT request  */
    387                  TRACE_DEBUG_H( "MODE_SELECT\n\r");
    388                  _status = rbc_mode_select();
    389                  if (USBMS_OK == _status )
   \                     ??ms_idleRx_4:
   \   00000136   ........           _BLF        rbc_mode_select,??rbc_mode_select??rT
   \   0000013A   0028               CMP         R0,#+0
   \   0000013C   0ED1               BNE         ??ms_idleRx_17
    390                  {
    391                    /* the command has been fully processed  */
    392                    ms_send_bot_status(GOOD_STATUS,0);
   \                     ??ms_idleRx_1:
   \   0000013E   0021               MOV         R1,#+0
   \   00000140   0020               MOV         R0,#+0
   \   00000142   ........           BL          ms_send_bot_status
    393                    usbms_context.state = PROCESS_CSW;
   \   00000146   0520               MOV         R0,#+5
   \   00000148   73E0               B           ??ms_idleRx_16
    394                  }
    395                  else
    396                  {
    397                    /* an error occured during the processing  */
    398                    ms_send_bot_status(COMMAND_FAILED,0);
    399                    usbms_context.state = PROCESS_CSW;
    400                  }
    401                  /*  The internal state changes to the CBW status phase  */
    402                break;
    403          
    404                case RBC_MODE_SENSE:
    405                  /* Process the RBC REQUEST_SENSE command  */
    406                  TRACE_DEBUG_H( "MODE_SENSE\n\r");
    407                  _status = rbc_mode_sense(&_bot_cdb->mode_sense);
   \                     ??ms_idleRx_5:
   \   0000014A   6846               MOV         R0,SP
   \   0000014C   0F30               ADD         R0,#+15
   \   0000014E   ........           _BLF        rbc_mode_sense,??rbc_mode_sense??rT
   \   00000152   6FE0               B           ??ms_idleRx_13
    408                break;
    409          
    410                case RBC_PREVENT_ALLOW_REMOVAL:
    411                  /* Process the RBC PREVENT_ALLOW_REMOVAL request  */
    412                  TRACE_DEBUG_H( "PRE ALLOW_REMV\n\r");
    413                  _status = rbc_prevent_allow_removal();
    414                  if (USBMS_OK == _status )
   \                     ??ms_idleRx_7:
   \   00000154   ........           _BLF        rbc_prevent_allow_removal,??rbc_prevent_allow_removal??rT
   \   00000158   0028               CMP         R0,#+0
   \   0000015A   F0D0               BEQ         ??ms_idleRx_1
   \                     ??ms_idleRx_17:
   \   0000015C   0021               MOV         R1,#+0
   \   0000015E   0120               MOV         R0,#+1
   \   00000160   ........           BL          ms_send_bot_status
   \   00000164   0520               MOV         R0,#+5
   \   00000166   64E0               B           ??ms_idleRx_16
    415                  {
    416                    /* the command has been fully processed  */
    417                    ms_send_bot_status(GOOD_STATUS,0);
    418                    usbms_context.state = PROCESS_CSW;
    419                  }
    420                  else
    421                  {
    422                    /* an error occured during the processing  */
    423                    ms_send_bot_status(COMMAND_FAILED,0);
    424                    usbms_context.state = PROCESS_CSW;
    425                  }
    426                break;
    427          
    428                case RBC_START_STOP_UNIT:
    429                  /* Process the RBC START_STOP_UNIT request  */
    430                  TRACE_DEBUG_H( "ST_STOP_UNIT\n\r");
    431                  _status = rbc_start_stop_unit(&_bot_cdb->start_stop);
    432                  if (USBMS_OK == _status )
   \                     ??ms_idleRx_6:
   \   00000168   6846               MOV         R0,SP
   \   0000016A   0F30               ADD         R0,#+15
   \   0000016C   ........           _BLF        rbc_start_stop_unit,??rbc_start_stop_unit??rT
   \                     ??ms_idleRx_18:
   \   00000170   0028               CMP         R0,#+0
   \   00000172   F3D1               BNE         ??ms_idleRx_17
   \   00000174   E3E7               B           ??ms_idleRx_1
    433                  {
    434                    /* the command has been fully processed  */
    435                    ms_send_bot_status(GOOD_STATUS,0);
    436                    usbms_context.state = PROCESS_CSW;
    437                  }
    438                  else
    439                  {
    440                    /* an error occured during the processing  */
    441                    ms_send_bot_status(COMMAND_FAILED,0);
    442                    usbms_context.state = PROCESS_CSW;
    443                  }
    444                break;
    445          
    446                case RBC_READ_CAPACITY:
    447                  /* Process the RBC READ_CAPACITY command  */
    448                  TRACE_DEBUG_H( "READ_CAPA\n\r");
    449                  _status = rbc_read_capacity();
   \                     ??ms_idleRx_8:
   \   00000176   ........           _BLF        rbc_read_capacity,??rbc_read_capacity??rT

⌨️ 快捷键说明

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