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

📄 stm32f10x_exti.lst

📁 stm32+ucos-ii
💻 LST
📖 第 1 页 / 共 2 页
字号:
    145              /* Disable the selected external lines */
    146              *(__IO uint32_t *) tmp &= ~EXTI_InitStruct->EXTI_Line;
   \   0000007E   0A68               LDR      R2,[R1, #+0]
   \   00000080   0368               LDR      R3,[R0, #+0]
   \   00000082   9A43               BICS     R2,R2,R3
   \   00000084   0A60               STR      R2,[R1, #+0]
    147            }
    148          }
   \                     ??EXTI_Init_2:
   \   00000086   7047               BX       LR               ;; return
    149          
    150          /**
    151            * @brief  Fills each EXTI_InitStruct member with its reset value.
    152            * @param  EXTI_InitStruct: pointer to a EXTI_InitTypeDef structure which will
    153            *   be initialized.
    154            * @retval None
    155            */

   \                                 In section .text, align 2, keep-with-next
    156          void EXTI_StructInit(EXTI_InitTypeDef* EXTI_InitStruct)
    157          {
    158            EXTI_InitStruct->EXTI_Line = EXTI_LINENONE;
   \                     EXTI_StructInit:
   \   00000000   0021               MOVS     R1,#+0
   \   00000002   0160               STR      R1,[R0, #+0]
    159            EXTI_InitStruct->EXTI_Mode = EXTI_Mode_Interrupt;
   \   00000004   0021               MOVS     R1,#+0
   \   00000006   0171               STRB     R1,[R0, #+4]
    160            EXTI_InitStruct->EXTI_Trigger = EXTI_Trigger_Falling;
   \   00000008   0C21               MOVS     R1,#+12
   \   0000000A   4171               STRB     R1,[R0, #+5]
    161            EXTI_InitStruct->EXTI_LineCmd = DISABLE;
   \   0000000C   0021               MOVS     R1,#+0
   \   0000000E   8171               STRB     R1,[R0, #+6]
    162          }
   \   00000010   7047               BX       LR               ;; return
    163          
    164          /**
    165            * @brief  Generates a Software interrupt.
    166            * @param  EXTI_Line: specifies the EXTI lines to be enabled or disabled.
    167            *   This parameter can be any combination of EXTI_Linex where x can be (0..19).
    168            * @retval None
    169            */

   \                                 In section .text, align 2, keep-with-next
    170          void EXTI_GenerateSWInterrupt(uint32_t EXTI_Line)
    171          {
    172            /* Check the parameters */
    173            assert_param(IS_EXTI_LINE(EXTI_Line));
    174            
    175            EXTI->SWIER |= EXTI_Line;
   \                     EXTI_GenerateSWInterrupt:
   \   00000000   ....               LDR.N    R1,??DataTable6_6  ;; 0x40010410
   \   00000002   0968               LDR      R1,[R1, #+0]
   \   00000004   0143               ORRS     R1,R0,R1
   \   00000006   ....               LDR.N    R2,??DataTable6_6  ;; 0x40010410
   \   00000008   1160               STR      R1,[R2, #+0]
    176          }
   \   0000000A   7047               BX       LR               ;; return
    177          
    178          /**
    179            * @brief  Checks whether the specified EXTI line flag is set or not.
    180            * @param  EXTI_Line: specifies the EXTI line flag to check.
    181            *   This parameter can be:
    182            *     @arg EXTI_Linex: External interrupt line x where x(0..19)
    183            * @retval The new state of EXTI_Line (SET or RESET).
    184            */

   \                                 In section .text, align 2, keep-with-next
    185          FlagStatus EXTI_GetFlagStatus(uint32_t EXTI_Line)
    186          {
   \                     EXTI_GetFlagStatus:
   \   00000000   0100               MOVS     R1,R0
    187            FlagStatus bitstatus = RESET;
   \   00000002   0020               MOVS     R0,#+0
    188            /* Check the parameters */
    189            assert_param(IS_GET_EXTI_LINE(EXTI_Line));
    190            
    191            if ((EXTI->PR & EXTI_Line) != (uint32_t)RESET)
   \   00000004   ....               LDR.N    R2,??DataTable6_4  ;; 0x40010414
   \   00000006   1268               LDR      R2,[R2, #+0]
   \   00000008   0A42               TST      R2,R1
   \   0000000A   02D0               BEQ.N    ??EXTI_GetFlagStatus_0
    192            {
    193              bitstatus = SET;
   \   0000000C   0122               MOVS     R2,#+1
   \   0000000E   1000               MOVS     R0,R2
   \   00000010   01E0               B.N      ??EXTI_GetFlagStatus_1
    194            }
    195            else
    196            {
    197              bitstatus = RESET;
   \                     ??EXTI_GetFlagStatus_0:
   \   00000012   0022               MOVS     R2,#+0
   \   00000014   1000               MOVS     R0,R2
    198            }
    199            return bitstatus;
   \                     ??EXTI_GetFlagStatus_1:
   \   00000016   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000018   7047               BX       LR               ;; return
    200          }
    201          
    202          /**
    203            * @brief  Clears the EXTI抯 line pending flags.
    204            * @param  EXTI_Line: specifies the EXTI lines flags to clear.
    205            *   This parameter can be any combination of EXTI_Linex where x can be (0..19).
    206            * @retval None
    207            */

   \                                 In section .text, align 2, keep-with-next
    208          void EXTI_ClearFlag(uint32_t EXTI_Line)
    209          {
    210            /* Check the parameters */
    211            assert_param(IS_EXTI_LINE(EXTI_Line));
    212            
    213            EXTI->PR = EXTI_Line;
   \                     EXTI_ClearFlag:
   \   00000000   ....               LDR.N    R1,??DataTable6_4  ;; 0x40010414
   \   00000002   0860               STR      R0,[R1, #+0]
    214          }
   \   00000004   7047               BX       LR               ;; return
    215          
    216          /**
    217            * @brief  Checks whether the specified EXTI line is asserted or not.
    218            * @param  EXTI_Line: specifies the EXTI line to check.
    219            *   This parameter can be:
    220            *     @arg EXTI_Linex: External interrupt line x where x(0..19)
    221            * @retval The new state of EXTI_Line (SET or RESET).
    222            */

   \                                 In section .text, align 2, keep-with-next
    223          ITStatus EXTI_GetITStatus(uint32_t EXTI_Line)
    224          {
   \                     EXTI_GetITStatus:
   \   00000000   0100               MOVS     R1,R0
    225            ITStatus bitstatus = RESET;
   \   00000002   0020               MOVS     R0,#+0
    226            uint32_t enablestatus = 0;
   \   00000004   0022               MOVS     R2,#+0
    227            /* Check the parameters */
    228            assert_param(IS_GET_EXTI_LINE(EXTI_Line));
    229            
    230            enablestatus =  EXTI->IMR & EXTI_Line;
   \   00000006   ....               LDR.N    R3,??DataTable6  ;; 0x40010400
   \   00000008   1B68               LDR      R3,[R3, #+0]
   \   0000000A   0B40               ANDS     R3,R1,R3
   \   0000000C   1A00               MOVS     R2,R3
    231            if (((EXTI->PR & EXTI_Line) != (uint32_t)RESET) && (enablestatus != (uint32_t)RESET))
   \   0000000E   ....               LDR.N    R3,??DataTable6_4  ;; 0x40010414
   \   00000010   1B68               LDR      R3,[R3, #+0]
   \   00000012   0B42               TST      R3,R1
   \   00000014   04D0               BEQ.N    ??EXTI_GetITStatus_0
   \   00000016   002A               CMP      R2,#+0
   \   00000018   02D0               BEQ.N    ??EXTI_GetITStatus_0
    232            {
    233              bitstatus = SET;
   \   0000001A   0123               MOVS     R3,#+1
   \   0000001C   1800               MOVS     R0,R3
   \   0000001E   01E0               B.N      ??EXTI_GetITStatus_1
    234            }
    235            else
    236            {
    237              bitstatus = RESET;
   \                     ??EXTI_GetITStatus_0:
   \   00000020   0023               MOVS     R3,#+0
   \   00000022   1800               MOVS     R0,R3
    238            }
    239            return bitstatus;
   \                     ??EXTI_GetITStatus_1:
   \   00000024   C0B2               UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
   \   00000026   7047               BX       LR               ;; return
    240          }
    241          
    242          /**
    243            * @brief  Clears the EXTI抯 line pending bits.
    244            * @param  EXTI_Line: specifies the EXTI lines to clear.
    245            *   This parameter can be any combination of EXTI_Linex where x can be (0..19).
    246            * @retval None
    247            */

   \                                 In section .text, align 2, keep-with-next
    248          void EXTI_ClearITPendingBit(uint32_t EXTI_Line)
    249          {
    250            /* Check the parameters */
    251            assert_param(IS_EXTI_LINE(EXTI_Line));
    252            
    253            EXTI->PR = EXTI_Line;
   \                     EXTI_ClearITPendingBit:
   \   00000000   ....               LDR.N    R1,??DataTable6_4  ;; 0x40010414
   \   00000002   0860               STR      R0,[R1, #+0]
    254          }
   \   00000004   7047               BX       LR               ;; return

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable6:
   \   00000000   00040140           DC32     0x40010400

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable6_1:
   \   00000000   04040140           DC32     0x40010404

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable6_2:
   \   00000000   08040140           DC32     0x40010408

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable6_3:
   \   00000000   0C040140           DC32     0x4001040c

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable6_4:
   \   00000000   14040140           DC32     0x40010414

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable6_5:
   \   00000000   FFFF0F00           DC32     0xfffff

   \                                 In section .text, align 4, keep-with-next
   \                     ??DataTable6_6:
   \   00000000   10040140           DC32     0x40010410
    255          
    256          /**
    257            * @}
    258            */
    259          
    260          /**
    261            * @}
    262            */
    263          
    264          /**
    265            * @}
    266            */
    267          
    268          /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/

   Maximum stack usage in bytes:

     Function                 .cstack
     --------                 -------
     EXTI_ClearFlag                0
     EXTI_ClearITPendingBit        0
     EXTI_DeInit                   0
     EXTI_GenerateSWInterrupt      0
     EXTI_GetFlagStatus            0
     EXTI_GetITStatus              0
     EXTI_Init                     0
     EXTI_StructInit               0


   Section sizes:

     Function/Label           Bytes
     --------------           -----
     EXTI_DeInit                32
     EXTI_Init                 136
     EXTI_StructInit            18
     EXTI_GenerateSWInterrupt   12
     EXTI_GetFlagStatus         26
     EXTI_ClearFlag              6
     EXTI_GetITStatus           40
     EXTI_ClearITPendingBit      6
     ??DataTable6                4
     ??DataTable6_1              4
     ??DataTable6_2              4
     ??DataTable6_3              4
     ??DataTable6_4              4
     ??DataTable6_5              4
     ??DataTable6_6              4

 
 304 bytes in section .text
 
 304 bytes of CODE memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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