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

📄 os_dcc.lst

📁 lpc2478开发板基于IAR编译器移植ucos实验例程
💻 LST
📖 第 1 页 / 共 2 页
字号:
    162                                                           |  OS_DCC_OP_GET_CAPS)) != 0) {
   \                     ??OSDCC_Handler_3:
   \   0000005C   18029FE5           LDR      R0,??OSDCC_Handler_2  ;; OSDCC_Cmd
   \   00000060   000090E5           LDR      R0,[R0, #+0]
   \   00000064   F00610E3           TST      R0,#0xF000000
   \   00000068   0600000A           BEQ      ??OSDCC_Handler_4
    163                          OSDCC_ItemCnt = (OSDCC_Cmd >> 2) & 0xffff;
   \   0000006C   10029FE5           LDR      R0,??OSDCC_Handler_2+0x8  ;; OSDCC_ItemCnt
   \   00000070   04129FE5           LDR      R1,??OSDCC_Handler_2  ;; OSDCC_Cmd
   \   00000074   001091E5           LDR      R1,[R1, #+0]
   \   00000078   0117B0E1           LSLS     R1,R1,#+14
   \   0000007C   2118B0E1           LSRS     R1,R1,#+16
   \   00000080   001080E5           STR      R1,[R0, #+0]
   \   00000084   3D0000EA           B        ??OSDCC_Handler_5
    164                      } else {                                 /* Data will be written; initialize OSDCC_Data    */
    165                          if ((OSDCC_Cmd & OS_DCC_OP_WRITE_U32) != 0) {
   \                     ??OSDCC_Handler_4:
   \   00000088   EC019FE5           LDR      R0,??OSDCC_Handler_2  ;; OSDCC_Cmd
   \   0000008C   000090E5           LDR      R0,[R0, #+0]
   \   00000090   400510E3           TST      R0,#0x10000000
   \   00000094   0900000A           BEQ      ??OSDCC_Handler_6
    166                              OSDCC_Data |= (OSDCC_Cmd << 14) & 0xffff0000;
   \   00000098   E8019FE5           LDR      R0,??OSDCC_Handler_2+0xC  ;; OSDCC_Data
   \   0000009C   E4119FE5           LDR      R1,??OSDCC_Handler_2+0xC  ;; OSDCC_Data
   \   000000A0   001091E5           LDR      R1,[R1, #+0]
   \   000000A4   D0219FE5           LDR      R2,??OSDCC_Handler_2  ;; OSDCC_Cmd
   \   000000A8   002092E5           LDR      R2,[R2, #+0]
   \   000000AC   0227B0E1           LSLS     R2,R2,#+14
   \   000000B0   2228B0E1           LSRS     R2,R2,#+16
   \   000000B4   021891E1           ORRS     R1,R1,R2, LSL #+16
   \   000000B8   001080E5           STR      R1,[R0, #+0]
   \   000000BC   050000EA           B        ??OSDCC_Handler_7
    167                          } else {
    168                              OSDCC_Data = (OSDCC_Cmd >> 2) & 0xffff;
   \                     ??OSDCC_Handler_6:
   \   000000C0   C0019FE5           LDR      R0,??OSDCC_Handler_2+0xC  ;; OSDCC_Data
   \   000000C4   B0119FE5           LDR      R1,??OSDCC_Handler_2  ;; OSDCC_Cmd
   \   000000C8   001091E5           LDR      R1,[R1, #+0]
   \   000000CC   0117B0E1           LSLS     R1,R1,#+14
   \   000000D0   2118B0E1           LSRS     R1,R1,#+16
   \   000000D4   001080E5           STR      R1,[R0, #+0]
    169                          }
    170                                                               /* Write a single byte                            */
    171                          if ((OSDCC_Cmd & OS_DCC_OP_WRITE_U8) != 0) {
   \                     ??OSDCC_Handler_7:
   \   000000D8   9C019FE5           LDR      R0,??OSDCC_Handler_2  ;; OSDCC_Cmd
   \   000000DC   000090E5           LDR      R0,[R0, #+0]
   \   000000E0   400410E3           TST      R0,#0x40000000
   \   000000E4   0900000A           BEQ      ??OSDCC_Handler_8
    172                              *(INT8U *)OSDCC_Addr = OSDCC_Data;
   \   000000E8   90019FE5           LDR      R0,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   000000EC   000090E5           LDR      R0,[R0, #+0]
   \   000000F0   90119FE5           LDR      R1,??OSDCC_Handler_2+0xC  ;; OSDCC_Data
   \   000000F4   001091E5           LDR      R1,[R1, #+0]
   \   000000F8   0010C0E5           STRB     R1,[R0, #+0]
    173                              OSDCC_Addr += 1;
   \   000000FC   7C019FE5           LDR      R0,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   00000100   78119FE5           LDR      R1,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   00000104   001091E5           LDR      R1,[R1, #+0]
   \   00000108   011091E2           ADDS     R1,R1,#+1
   \   0000010C   001080E5           STR      R1,[R0, #+0]
    174                          }
    175                                                               /* Write two bytes                                */
    176                          if ((OSDCC_Cmd & OS_DCC_OP_WRITE_U16) != 0) {
   \                     ??OSDCC_Handler_8:
   \   00000110   64019FE5           LDR      R0,??OSDCC_Handler_2  ;; OSDCC_Cmd
   \   00000114   000090E5           LDR      R0,[R0, #+0]
   \   00000118   800510E3           TST      R0,#0x20000000
   \   0000011C   0900000A           BEQ      ??OSDCC_Handler_9
    177                              *(INT16U *)OSDCC_Addr = OSDCC_Data;
   \   00000120   58019FE5           LDR      R0,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   00000124   000090E5           LDR      R0,[R0, #+0]
   \   00000128   58119FE5           LDR      R1,??OSDCC_Handler_2+0xC  ;; OSDCC_Data
   \   0000012C   001091E5           LDR      R1,[R1, #+0]
   \   00000130   B010C0E1           STRH     R1,[R0, #+0]
    178                              OSDCC_Addr += 2;
   \   00000134   44019FE5           LDR      R0,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   00000138   40119FE5           LDR      R1,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   0000013C   001091E5           LDR      R1,[R1, #+0]
   \   00000140   021091E2           ADDS     R1,R1,#+2
   \   00000144   001080E5           STR      R1,[R0, #+0]
    179                          }
    180                                                               /* Write four bytes                               */
    181                          if ((OSDCC_Cmd & OS_DCC_OP_WRITE_U32) != 0) {
   \                     ??OSDCC_Handler_9:
   \   00000148   2C019FE5           LDR      R0,??OSDCC_Handler_2  ;; OSDCC_Cmd
   \   0000014C   000090E5           LDR      R0,[R0, #+0]
   \   00000150   400510E3           TST      R0,#0x10000000
   \   00000154   0900000A           BEQ      ??OSDCC_Handler_5
    182                              *(INT32U *)OSDCC_Addr =OSDCC_Data;
   \   00000158   20019FE5           LDR      R0,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   0000015C   000090E5           LDR      R0,[R0, #+0]
   \   00000160   20119FE5           LDR      R1,??OSDCC_Handler_2+0xC  ;; OSDCC_Data
   \   00000164   001091E5           LDR      R1,[R1, #+0]
   \   00000168   001080E5           STR      R1,[R0, #+0]
    183                              OSDCC_Addr += 4;
   \   0000016C   0C019FE5           LDR      R0,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   00000170   08119FE5           LDR      R1,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   00000174   001091E5           LDR      R1,[R1, #+0]
   \   00000178   041091E2           ADDS     R1,R1,#+4
   \   0000017C   001080E5           STR      R1,[R0, #+0]
    184                          }
    185                      }
    186                      OS_EXIT_CRITICAL();
   \                     ??OSDCC_Handler_5:
   \   00000180   0500B0E1           MOVS     R0,R5
   \   00000184   ........           _BLF     OS_CPU_SR_Restore,??OS_CPU_SR_Restore??rA
    187                      return;
   \   00000188   3A0000EA           B        ??OSDCC_Handler_10
    188                  }
    189                  OSDCC_Addr     = reg_val;                    /* An address was received; OSDCC_Addr is updated */
   \                     ??OSDCC_Handler_1:
   \   0000018C   EC009FE5           LDR      R0,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   00000190   004080E5           STR      R4,[R0, #+0]
    190              }
    191                                                               /* Determine whether data must be read            */
    192              if (OSDCC_ItemCnt != 0) {
   \                     ??OSDCC_Handler_0:
   \   00000194   E8009FE5           LDR      R0,??OSDCC_Handler_2+0x8  ;; OSDCC_ItemCnt
   \   00000198   000090E5           LDR      R0,[R0, #+0]
   \   0000019C   000050E3           CMP      R0,#+0
   \   000001A0   3200000A           BEQ      ??OSDCC_Handler_11
    193                                                               /* Confirm that the comms data write register...  */
    194                                                               /* ...is free from the processor point of view    */
    195                  if ((OSDCC_ReadCtrl() & OS_DCC_COMM_CTRL_WR) == 0) {
   \   000001A4   ........           BL       OSDCC_ReadCtrl
   \   000001A8   020010E3           TST      R0,#0x2
   \   000001AC   2F00001A           BNE      ??OSDCC_Handler_11
    196                      reg_val = (OS_DCC_CONFIG | OS_DCC_SIGNATURE);
   \   000001B0   D4009FE5           LDR      R0,??OSDCC_Handler_2+0x10  ;; 0xffffffff91ca0077
   \   000001B4   0040B0E1           MOVS     R4,R0
    197                                                               /* Read a single byte                             */
    198                      if ((OSDCC_Cmd & OS_DCC_OP_READ_U8) != 0) {
   \   000001B8   BC009FE5           LDR      R0,??OSDCC_Handler_2  ;; OSDCC_Cmd
   \   000001BC   000090E5           LDR      R0,[R0, #+0]
   \   000001C0   400610E3           TST      R0,#0x4000000
   \   000001C4   0800000A           BEQ      ??OSDCC_Handler_12
    199                          reg_val = *(INT8U *)OSDCC_Addr;
   \   000001C8   B0009FE5           LDR      R0,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   000001CC   000090E5           LDR      R0,[R0, #+0]
   \   000001D0   0000D0E5           LDRB     R0,[R0, #+0]
   \   000001D4   0040B0E1           MOVS     R4,R0
    200                          OSDCC_Addr += 1;
   \   000001D8   A0009FE5           LDR      R0,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   000001DC   9C109FE5           LDR      R1,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   000001E0   001091E5           LDR      R1,[R1, #+0]
   \   000001E4   011091E2           ADDS     R1,R1,#+1
   \   000001E8   001080E5           STR      R1,[R0, #+0]
    201                      }
    202                                                               /* Read two bytes                                 */
    203                      if ((OSDCC_Cmd & OS_DCC_OP_READ_U16) != 0) {
   \                     ??OSDCC_Handler_12:
   \   000001EC   88009FE5           LDR      R0,??OSDCC_Handler_2  ;; OSDCC_Cmd
   \   000001F0   000090E5           LDR      R0,[R0, #+0]
   \   000001F4   800710E3           TST      R0,#0x2000000
   \   000001F8   0800000A           BEQ      ??OSDCC_Handler_13
    204                          reg_val = *(INT16U *)OSDCC_Addr;
   \   000001FC   7C009FE5           LDR      R0,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   00000200   000090E5           LDR      R0,[R0, #+0]
   \   00000204   B000D0E1           LDRH     R0,[R0, #+0]
   \   00000208   0040B0E1           MOVS     R4,R0
    205                          OSDCC_Addr += 2;
   \   0000020C   6C009FE5           LDR      R0,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   00000210   68109FE5           LDR      R1,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   00000214   001091E5           LDR      R1,[R1, #+0]
   \   00000218   021091E2           ADDS     R1,R1,#+2
   \   0000021C   001080E5           STR      R1,[R0, #+0]
    206                      }
    207                                                               /* Read four bytes                                */
    208                      if ((OSDCC_Cmd & OS_DCC_OP_READ_U32) != 0) {
   \                     ??OSDCC_Handler_13:
   \   00000220   54009FE5           LDR      R0,??OSDCC_Handler_2  ;; OSDCC_Cmd
   \   00000224   000090E5           LDR      R0,[R0, #+0]
   \   00000228   400710E3           TST      R0,#0x1000000
   \   0000022C   0800000A           BEQ      ??OSDCC_Handler_14
    209                          reg_val = *(INT32U *)OSDCC_Addr;
   \   00000230   48009FE5           LDR      R0,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   00000234   000090E5           LDR      R0,[R0, #+0]
   \   00000238   000090E5           LDR      R0,[R0, #+0]
   \   0000023C   0040B0E1           MOVS     R4,R0
    210                          OSDCC_Addr += 4;
   \   00000240   38009FE5           LDR      R0,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   00000244   34109FE5           LDR      R1,??OSDCC_Handler_2+0x4  ;; OSDCC_Addr
   \   00000248   001091E5           LDR      R1,[R1, #+0]
   \   0000024C   041091E2           ADDS     R1,R1,#+4
   \   00000250   001080E5           STR      R1,[R0, #+0]
    211                      }
    212          
    213                      OSDCC_Write(reg_val);                    /* Place data in the comms data write register    */
   \                     ??OSDCC_Handler_14:
   \   00000254   0400B0E1           MOVS     R0,R4
   \   00000258   ........           BL       OSDCC_Write
    214                      OSDCC_ItemCnt--;                         /* Decrement the number of items to be read       */
   \   0000025C   20009FE5           LDR      R0,??OSDCC_Handler_2+0x8  ;; OSDCC_ItemCnt
   \   00000260   1C109FE5           LDR      R1,??OSDCC_Handler_2+0x8  ;; OSDCC_ItemCnt
   \   00000264   001091E5           LDR      R1,[R1, #+0]
   \   00000268   011051E2           SUBS     R1,R1,#+1
   \   0000026C   001080E5           STR      R1,[R0, #+0]
    215                  }
    216              }
    217              OS_EXIT_CRITICAL();
   \                     ??OSDCC_Handler_11:
   \   00000270   0500B0E1           MOVS     R0,R5
   \   00000274   ........           _BLF     OS_CPU_SR_Restore,??OS_CPU_SR_Restore??rA
    218          }
   \                     ??OSDCC_Handler_10:
   \   00000278   3080BDE8           POP      {R4,R5,PC}       ;; return
   \                     ??OSDCC_Handler_2:
   \   0000027C   ........           DC32     OSDCC_Cmd
   \   00000280   ........           DC32     OSDCC_Addr
   \   00000284   ........           DC32     OSDCC_ItemCnt
   \   00000288   ........           DC32     OSDCC_Data
   \   0000028C   7700CA91           DC32     0xffffffff91ca0077
    219          
    220          #endif

   Maximum stack usage in bytes:

     Function       CSTACK
     --------       ------
     OSDCC_Handler     12
     OSDCC_Read         0
     OSDCC_ReadCtrl     0
     OSDCC_Write        0


   Segment part sizes:

     Function/Label Bytes
     -------------- -----
     OSDCC_Cmd         4
     OSDCC_Addr        4
     OSDCC_ItemCnt     4
     OSDCC_Data        4
     OSDCC_ReadCtrl    8
     OSDCC_Read        8
     OSDCC_Write       8
     OSDCC_Handler   656
      Others          36

 
 704 bytes in segment CODE
  16 bytes in segment DATA_Z
  12 bytes in segment INITTAB
 
 680 bytes of CODE memory (+ 36 bytes shared)
  16 bytes of DATA memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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