ARM GAS  /tmp/ccRj6lr2.s 			page 1


   1              		.cpu cortex-m0plus
   2              		.eabi_attribute 20, 1
   3              		.eabi_attribute 21, 1
   4              		.eabi_attribute 23, 3
   5              		.eabi_attribute 24, 1
   6              		.eabi_attribute 25, 1
   7              		.eabi_attribute 26, 1
   8              		.eabi_attribute 30, 1
   9              		.eabi_attribute 34, 0
  10              		.eabi_attribute 18, 4
  11              		.file	"stm32g0xx_hal_exti.c"
  12              		.text
  13              	.Ltext0:
  14              		.cfi_sections	.debug_frame
  15              		.section	.text.HAL_EXTI_SetConfigLine,"ax",%progbits
  16              		.align	1
  17              		.global	HAL_EXTI_SetConfigLine
  18              		.arch armv6s-m
  19              		.syntax unified
  20              		.code	16
  21              		.thumb_func
  22              		.fpu softvfp
  24              	HAL_EXTI_SetConfigLine:
  25              	.LVL0:
  26              	.LFB297:
  27              		.file 1 "Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c"
   1:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /**
   2:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   ******************************************************************************
   3:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @file    stm32g0xx_hal_exti.c
   4:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @author  MCD Application Team
   5:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @brief   EXTI HAL module driver.
   6:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *          This file provides firmware functions to manage the following
   7:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *          functionalities of the General Purpose Input/Output (EXTI) peripheral:
   8:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *           + Initialization and de-initialization functions
   9:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *           + IO operation functions
  10:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *
  11:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   @verbatim
  12:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   ==============================================================================
  13:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****                     ##### EXTI Peripheral features #####
  14:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   ==============================================================================
  15:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   [..]
  16:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     (+) Each Exti line can be configured within this driver.
  17:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
  18:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     (+) Exti line can be configured in 3 different modes
  19:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) Interrupt
  20:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) Event
  21:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) Both of them
  22:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
  23:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     (+) Configurable Exti lines can be configured with 3 different triggers
  24:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) Rising
  25:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) Falling
  26:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) Both of them
  27:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
  28:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     (+) When set in interrupt mode, configurable Exti lines have two diffenrents
  29:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         interrupt pending registers which allow to distinguish which transition
  30:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         occurs:
  31:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) Rising edge pending interrupt
ARM GAS  /tmp/ccRj6lr2.s 			page 2


  32:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) Falling
  33:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
  34:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     (+) Exti lines 0 to 15 are linked to gpio pin number 0 to 15. Gpio port can
  35:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         be selected through multiplexer.
  36:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
  37:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****                      ##### How to use this driver #####
  38:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   ==============================================================================
  39:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   [..]
  40:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
  41:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     (#) Configure the EXTI line using HAL_EXTI_SetConfigLine().
  42:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) Choose the interrupt line number by setting "Line" member from
  43:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****              EXTI_ConfigTypeDef structure.
  44:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) Configure the interrupt and/or event mode using "Mode" member from
  45:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****              EXTI_ConfigTypeDef structure.
  46:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) For configurable lines, configure rising and/or falling trigger
  47:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****              "Trigger" member from EXTI_ConfigTypeDef structure.
  48:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) For Exti lines linked to gpio, choose gpio port using "GPIOSel"
  49:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****              member from GPIO_InitTypeDef structure.
  50:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
  51:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     (#) Get current Exti configuration of a dedicated line using
  52:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         HAL_EXTI_GetConfigLine().
  53:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) Provide exiting handle as parameter.
  54:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) Provide pointer on EXTI_ConfigTypeDef structure as second parameter.
  55:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
  56:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     (#) Clear Exti configuration of a dedicated line using HAL_EXTI_GetConfigLine().
  57:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) Provide exiting handle as parameter.
  58:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
  59:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     (#) Register callback to treat Exti interrupts using HAL_EXTI_RegisterCallback().
  60:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) Provide exiting handle as first parameter.
  61:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) Provide which callback will be registered using one value from
  62:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****              EXTI_CallbackIDTypeDef.
  63:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****         (++) Provide callback function pointer.
  64:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
  65:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     (#) Get interrupt pending bit using HAL_EXTI_GetPending().
  66:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
  67:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     (#) Clear interrupt pending bit using HAL_EXTI_GetPending().
  68:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
  69:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     (#) Generate software interrupt using HAL_EXTI_GenerateSWI().
  70:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
  71:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   @endverbatim
  72:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   ******************************************************************************
  73:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @attention
  74:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *
  75:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * <h2><center>&copy; Copyright (c) 2018 STMicroelectronics.
  76:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * All rights reserved.</center></h2>
  77:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *
  78:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * This software component is licensed by ST under BSD 3-Clause license,
  79:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * the "License"; You may not use this file except in compliance with the
  80:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * License. You may obtain a copy of the License at:
  81:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *                        opensource.org/licenses/BSD-3-Clause
  82:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *
  83:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   ******************************************************************************
  84:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
  85:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
  86:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /* Includes ------------------------------------------------------------------*/
  87:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** #include "stm32g0xx_hal.h"
  88:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
ARM GAS  /tmp/ccRj6lr2.s 			page 3


  89:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /** @addtogroup STM32G0xx_HAL_Driver
  90:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @{
  91:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
  92:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
  93:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /** @addtogroup EXTI
  94:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @{
  95:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
  96:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /** MISRA C:2012 deviation rule has been granted for following rule:
  97:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * Rule-18.1_b - Medium: Array `EXTICR' 1st subscript interval [0,7] may be out
  98:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * of bounds [0,3] in following API :
  99:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * HAL_EXTI_SetConfigLine
 100:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * HAL_EXTI_GetConfigLine
 101:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * HAL_EXTI_ClearConfigLine
 102:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
 103:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 104:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** #ifdef HAL_EXTI_MODULE_ENABLED
 105:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 106:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /* Private typedef -----------------------------------------------------------*/
 107:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /* Private defines ------------------------------------------------------------*/
 108:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /** @defgroup EXTI_Private_Constants EXTI Private Constants
 109:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @{
 110:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
 111:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** #define EXTI_MODE_OFFSET                    0x04u   /* 0x10: offset between CPU IMR/EMR registers *
 112:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** #define EXTI_CONFIG_OFFSET                  0x08u   /* 0x20: offset between CPU Rising/Falling conf
 113:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /**
 114:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @}
 115:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
 116:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 117:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /* Private macros ------------------------------------------------------------*/
 118:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /* Private variables ---------------------------------------------------------*/
 119:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /* Private function prototypes -----------------------------------------------*/
 120:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /* Exported functions --------------------------------------------------------*/
 121:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 122:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions
 123:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @{
 124:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
 125:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 126:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group1
 127:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****  *  @brief    Configuration functions
 128:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****  *
 129:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** @verbatim
 130:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****  ===============================================================================
 131:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****               ##### Configuration functions #####
 132:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****  ===============================================================================
 133:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 134:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** @endverbatim
 135:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @{
 136:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
 137:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 138:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /**
 139:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @brief  Set configuration of a dedicated Exti line.
 140:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @param  hexti Exti handle.
 141:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @param  pExtiConfig Pointer on EXTI configuration to be set.
 142:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @retval HAL Status.
 143:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
 144:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
 145:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** {
ARM GAS  /tmp/ccRj6lr2.s 			page 4


  28              		.loc 1 145 1 view -0
  29              		.cfi_startproc
  30              		@ args = 0, pretend = 0, frame = 0
  31              		@ frame_needed = 0, uses_anonymous_args = 0
  32              		.loc 1 145 1 is_stmt 0 view .LVU1
  33 0000 F0B5     		push	{r4, r5, r6, r7, lr}
  34              	.LCFI0:
  35              		.cfi_def_cfa_offset 20
  36              		.cfi_offset 4, -20
  37              		.cfi_offset 5, -16
  38              		.cfi_offset 6, -12
  39              		.cfi_offset 7, -8
  40              		.cfi_offset 14, -4
 146:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   __IO uint32_t *regaddr;
  41              		.loc 1 146 3 is_stmt 1 view .LVU2
 147:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t regval;
  42              		.loc 1 147 3 view .LVU3
 148:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t linepos;
  43              		.loc 1 148 3 view .LVU4
 149:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t maskline;
  44              		.loc 1 149 3 view .LVU5
 150:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t offset;
  45              		.loc 1 150 3 view .LVU6
 151:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 152:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Check null pointer */
 153:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   if ((hexti == NULL) || (pExtiConfig == NULL))
  46              		.loc 1 153 3 view .LVU7
  47              		.loc 1 153 6 is_stmt 0 view .LVU8
  48 0002 0028     		cmp	r0, #0
  49 0004 52D0     		beq	.L12
  50              		.loc 1 153 23 discriminator 1 view .LVU9
  51 0006 0029     		cmp	r1, #0
  52 0008 52D0     		beq	.L13
 154:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 155:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     return HAL_ERROR;
 156:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 157:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 158:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Check parameters */
 159:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   assert_param(IS_EXTI_LINE(pExtiConfig->Line));
  53              		.loc 1 159 3 is_stmt 1 view .LVU10
 160:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   assert_param(IS_EXTI_MODE(pExtiConfig->Mode));
  54              		.loc 1 160 3 view .LVU11
 161:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 162:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Assign line number to handle */
 163:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   hexti->Line = pExtiConfig->Line;
  55              		.loc 1 163 3 view .LVU12
  56              		.loc 1 163 28 is_stmt 0 view .LVU13
  57 000a 0D68     		ldr	r5, [r1]
  58              		.loc 1 163 15 view .LVU14
  59 000c 0560     		str	r5, [r0]
 164:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 165:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* compute line register offset and line mask */
 166:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   offset = ((pExtiConfig->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
  60              		.loc 1 166 3 is_stmt 1 view .LVU15
  61              		.loc 1 166 49 is_stmt 0 view .LVU16
  62 000e 2B0C     		lsrs	r3, r5, #16
  63              		.loc 1 166 10 view .LVU17
ARM GAS  /tmp/ccRj6lr2.s 			page 5


  64 0010 0122     		movs	r2, #1
  65 0012 1340     		ands	r3, r2
  66              	.LVL1:
 167:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
  67              		.loc 1 167 3 is_stmt 1 view .LVU18
  68              		.loc 1 167 11 is_stmt 0 view .LVU19
  69 0014 1F20     		movs	r0, #31
  70              	.LVL2:
  71              		.loc 1 167 11 view .LVU20
  72 0016 2840     		ands	r0, r5
  73              	.LVL3:
 168:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   maskline = (1uL << linepos);
  74              		.loc 1 168 3 is_stmt 1 view .LVU21
  75              		.loc 1 168 12 is_stmt 0 view .LVU22
  76 0018 8240     		lsls	r2, r2, r0
  77              	.LVL4:
 169:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 170:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Configure triggers for configurable lines */
 171:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
  78              		.loc 1 171 3 is_stmt 1 view .LVU23
  79              		.loc 1 171 6 is_stmt 0 view .LVU24
  80 001a AC01     		lsls	r4, r5, #6
  81 001c 19D5     		bpl	.L3
 172:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 173:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     assert_param(IS_EXTI_TRIGGER(pExtiConfig->Trigger));
  82              		.loc 1 173 5 is_stmt 1 view .LVU25
 174:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 175:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Configure rising trigger */
 176:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regaddr = (&EXTI->RTSR1 + (EXTI_CONFIG_OFFSET * offset));
  83              		.loc 1 176 5 view .LVU26
  84              		.loc 1 176 29 is_stmt 0 view .LVU27
  85 001e 5C01     		lsls	r4, r3, #5
  86              		.loc 1 176 13 view .LVU28
  87 0020 244E     		ldr	r6, .L15
  88 0022 A719     		adds	r7, r4, r6
  89              	.LVL5:
 177:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regval = *regaddr;
  90              		.loc 1 177 5 is_stmt 1 view .LVU29
  91              		.loc 1 177 12 is_stmt 0 view .LVU30
  92 0024 3E68     		ldr	r6, [r7]
  93 0026 B446     		mov	ip, r6
  94              	.LVL6:
 178:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 179:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Mask or set line */
 180:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     if ((pExtiConfig->Trigger & EXTI_TRIGGER_RISING) != 0x00u)
  95              		.loc 1 180 5 is_stmt 1 view .LVU31
  96              		.loc 1 180 8 is_stmt 0 view .LVU32
  97 0028 8E68     		ldr	r6, [r1, #8]
  98              	.LVL7:
  99              		.loc 1 180 8 view .LVU33
 100 002a F607     		lsls	r6, r6, #31
 101 002c 25D5     		bpl	.L4
 181:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     {
 182:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval |= maskline;
 102              		.loc 1 182 7 is_stmt 1 view .LVU34
 103              		.loc 1 182 14 is_stmt 0 view .LVU35
 104 002e 6646     		mov	r6, ip
ARM GAS  /tmp/ccRj6lr2.s 			page 6


 105 0030 1643     		orrs	r6, r2
 106              	.LVL8:
 107              	.L5:
 183:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 184:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     else
 185:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     {
 186:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval &= ~maskline;
 187:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 188:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 189:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Store rising trigger mode */
 190:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     *regaddr = regval;
 108              		.loc 1 190 5 is_stmt 1 view .LVU36
 109              		.loc 1 190 14 is_stmt 0 view .LVU37
 110 0032 3E60     		str	r6, [r7]
 191:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 192:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Configure falling trigger */
 193:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regaddr = (&EXTI->FTSR1 + (EXTI_CONFIG_OFFSET * offset));
 111              		.loc 1 193 5 is_stmt 1 view .LVU38
 112              		.loc 1 193 13 is_stmt 0 view .LVU39
 113 0034 204E     		ldr	r6, .L15+4
 114              	.LVL9:
 115              		.loc 1 193 13 view .LVU40
 116 0036 B446     		mov	ip, r6
 117 0038 6444     		add	r4, r4, ip
 118              	.LVL10:
 194:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regval = *regaddr;
 119              		.loc 1 194 5 is_stmt 1 view .LVU41
 120              		.loc 1 194 12 is_stmt 0 view .LVU42
 121 003a 2668     		ldr	r6, [r4]
 122              	.LVL11:
 195:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 196:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Mask or set line */
 197:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     if ((pExtiConfig->Trigger & EXTI_TRIGGER_FALLING) != 0x00u)
 123              		.loc 1 197 5 is_stmt 1 view .LVU43
 124              		.loc 1 197 8 is_stmt 0 view .LVU44
 125 003c 8F68     		ldr	r7, [r1, #8]
 126 003e BF07     		lsls	r7, r7, #30
 127 0040 1ED5     		bpl	.L6
 198:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     {
 199:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval |= maskline;
 128              		.loc 1 199 7 is_stmt 1 view .LVU45
 129              		.loc 1 199 14 is_stmt 0 view .LVU46
 130 0042 1643     		orrs	r6, r2
 131              	.LVL12:
 132              	.L7:
 200:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 201:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     else
 202:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     {
 203:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval &= ~maskline;
 204:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 205:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 206:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Store falling trigger mode */
 207:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     *regaddr = regval;
 133              		.loc 1 207 5 is_stmt 1 view .LVU47
 134              		.loc 1 207 14 is_stmt 0 view .LVU48
 135 0044 2660     		str	r6, [r4]
 208:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
ARM GAS  /tmp/ccRj6lr2.s 			page 7


 209:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Configure gpio port selection in case of gpio exti line */
 210:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
 136              		.loc 1 210 5 is_stmt 1 view .LVU49
 137              		.loc 1 210 28 is_stmt 0 view .LVU50
 138 0046 C026     		movs	r6, #192
 139              	.LVL13:
 140              		.loc 1 210 28 view .LVU51
 141 0048 F604     		lsls	r6, r6, #19
 142 004a 0C68     		ldr	r4, [r1]
 143              	.LVL14:
 144              		.loc 1 210 28 view .LVU52
 145 004c 3440     		ands	r4, r6
 146              		.loc 1 210 8 view .LVU53
 147 004e B442     		cmp	r4, r6
 148 0050 18D0     		beq	.L14
 149              	.LVL15:
 150              	.L3:
 211:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     {
 212:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       assert_param(IS_EXTI_GPIO_PORT(pExtiConfig->GPIOSel));
 213:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       assert_param(IS_EXTI_GPIO_PIN(linepos));
 214:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 215:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval = EXTI->EXTICR[linepos >> 2u];
 216:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval &= ~(EXTI_EXTICR1_EXTI0 << (EXTI_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
 217:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval |= (pExtiConfig->GPIOSel << (EXTI_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
 218:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       EXTI->EXTICR[linepos >> 2u] = regval;
 219:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 220:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 221:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 222:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Configure interrupt mode : read current mode */
 223:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regaddr = (&EXTI->IMR1 + (EXTI_MODE_OFFSET * offset));
 151              		.loc 1 223 3 is_stmt 1 view .LVU54
 152              		.loc 1 223 26 is_stmt 0 view .LVU55
 153 0052 1B01     		lsls	r3, r3, #4
 154              	.LVL16:
 155              		.loc 1 223 11 view .LVU56
 156 0054 1948     		ldr	r0, .L15+8
 157 0056 1C18     		adds	r4, r3, r0
 158              	.LVL17:
 224:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regval = *regaddr;
 159              		.loc 1 224 3 is_stmt 1 view .LVU57
 160              		.loc 1 224 10 is_stmt 0 view .LVU58
 161 0058 2068     		ldr	r0, [r4]
 162              	.LVL18:
 225:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 226:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Mask or set line */
 227:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   if ((pExtiConfig->Mode & EXTI_MODE_INTERRUPT) != 0x00u)
 163              		.loc 1 227 3 is_stmt 1 view .LVU59
 164              		.loc 1 227 6 is_stmt 0 view .LVU60
 165 005a 4D68     		ldr	r5, [r1, #4]
 166 005c ED07     		lsls	r5, r5, #31
 167 005e 21D5     		bpl	.L8
 228:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 229:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regval |= maskline;
 168              		.loc 1 229 5 is_stmt 1 view .LVU61
 169              		.loc 1 229 12 is_stmt 0 view .LVU62
 170 0060 1043     		orrs	r0, r2
 171              	.LVL19:
ARM GAS  /tmp/ccRj6lr2.s 			page 8


 172              	.L9:
 230:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 231:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   else
 232:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 233:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regval &= ~maskline;
 234:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 235:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 236:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Store interrupt mode */
 237:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *regaddr = regval;
 173              		.loc 1 237 3 is_stmt 1 view .LVU63
 174              		.loc 1 237 12 is_stmt 0 view .LVU64
 175 0062 2060     		str	r0, [r4]
 238:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 239:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Configure event mode : read current mode */
 240:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regaddr = (&EXTI->EMR1 + (EXTI_MODE_OFFSET * offset));
 176              		.loc 1 240 3 is_stmt 1 view .LVU65
 177              		.loc 1 240 11 is_stmt 0 view .LVU66
 178 0064 1648     		ldr	r0, .L15+12
 179              	.LVL20:
 180              		.loc 1 240 11 view .LVU67
 181 0066 8446     		mov	ip, r0
 182 0068 6344     		add	r3, r3, ip
 183              	.LVL21:
 241:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regval = *regaddr;
 184              		.loc 1 241 3 is_stmt 1 view .LVU68
 185              		.loc 1 241 10 is_stmt 0 view .LVU69
 186 006a 1868     		ldr	r0, [r3]
 187              	.LVL22:
 242:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 243:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Mask or set line */
 244:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   if ((pExtiConfig->Mode & EXTI_MODE_EVENT) != 0x00u)
 188              		.loc 1 244 3 is_stmt 1 view .LVU70
 189              		.loc 1 244 19 is_stmt 0 view .LVU71
 190 006c 4968     		ldr	r1, [r1, #4]
 191              	.LVL23:
 192              		.loc 1 244 6 view .LVU72
 193 006e 8907     		lsls	r1, r1, #30
 194 0070 1AD5     		bpl	.L10
 245:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 246:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regval |= maskline;
 195              		.loc 1 246 5 is_stmt 1 view .LVU73
 196              		.loc 1 246 12 is_stmt 0 view .LVU74
 197 0072 1043     		orrs	r0, r2
 198              	.LVL24:
 199              	.L11:
 247:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 248:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   else
 249:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 250:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regval &= ~maskline;
 251:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 252:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 253:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Store event mode */
 254:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *regaddr = regval;
 200              		.loc 1 254 3 is_stmt 1 view .LVU75
 201              		.loc 1 254 12 is_stmt 0 view .LVU76
 202 0074 1860     		str	r0, [r3]
 255:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
ARM GAS  /tmp/ccRj6lr2.s 			page 9


 256:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   return HAL_OK;
 203              		.loc 1 256 3 is_stmt 1 view .LVU77
 204              		.loc 1 256 10 is_stmt 0 view .LVU78
 205 0076 0020     		movs	r0, #0
 206              	.LVL25:
 207              	.L2:
 257:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** }
 208              		.loc 1 257 1 view .LVU79
 209              		@ sp needed
 210 0078 F0BD     		pop	{r4, r5, r6, r7, pc}
 211              	.LVL26:
 212              	.L4:
 186:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 213              		.loc 1 186 7 is_stmt 1 view .LVU80
 186:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 214              		.loc 1 186 14 is_stmt 0 view .LVU81
 215 007a 6646     		mov	r6, ip
 216 007c 9643     		bics	r6, r2
 217              	.LVL27:
 186:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 218              		.loc 1 186 14 view .LVU82
 219 007e D8E7     		b	.L5
 220              	.LVL28:
 221              	.L6:
 203:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 222              		.loc 1 203 7 is_stmt 1 view .LVU83
 203:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 223              		.loc 1 203 14 is_stmt 0 view .LVU84
 224 0080 9643     		bics	r6, r2
 225              	.LVL29:
 203:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 226              		.loc 1 203 14 view .LVU85
 227 0082 DFE7     		b	.L7
 228              	.LVL30:
 229              	.L14:
 212:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       assert_param(IS_EXTI_GPIO_PIN(linepos));
 230              		.loc 1 212 7 is_stmt 1 view .LVU86
 213:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 231              		.loc 1 213 7 view .LVU87
 215:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval &= ~(EXTI_EXTICR1_EXTI0 << (EXTI_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
 232              		.loc 1 215 7 view .LVU88
 215:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval &= ~(EXTI_EXTICR1_EXTI0 << (EXTI_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
 233              		.loc 1 215 37 is_stmt 0 view .LVU89
 234 0084 8008     		lsrs	r0, r0, #2
 235              	.LVL31:
 215:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval &= ~(EXTI_EXTICR1_EXTI0 << (EXTI_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
 236              		.loc 1 215 14 view .LVU90
 237 0086 0B4E     		ldr	r6, .L15
 238 0088 1830     		adds	r0, r0, #24
 239 008a 8000     		lsls	r0, r0, #2
 240 008c 8759     		ldr	r7, [r0, r6]
 241              	.LVL32:
 216:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval |= (pExtiConfig->GPIOSel << (EXTI_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
 242              		.loc 1 216 7 is_stmt 1 view .LVU91
 216:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval |= (pExtiConfig->GPIOSel << (EXTI_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
 243              		.loc 1 216 76 is_stmt 0 view .LVU92
 244 008e 0324     		movs	r4, #3
ARM GAS  /tmp/ccRj6lr2.s 			page 10


 245 0090 2540     		ands	r5, r4
 246              	.LVL33:
 216:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval |= (pExtiConfig->GPIOSel << (EXTI_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
 247              		.loc 1 216 65 view .LVU93
 248 0092 ED00     		lsls	r5, r5, #3
 216:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval |= (pExtiConfig->GPIOSel << (EXTI_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
 249              		.loc 1 216 38 view .LVU94
 250 0094 0434     		adds	r4, r4, #4
 251 0096 AC40     		lsls	r4, r4, r5
 216:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval |= (pExtiConfig->GPIOSel << (EXTI_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
 252              		.loc 1 216 14 view .LVU95
 253 0098 A743     		bics	r7, r4
 254              	.LVL34:
 217:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       EXTI->EXTICR[linepos >> 2u] = regval;
 255              		.loc 1 217 7 is_stmt 1 view .LVU96
 217:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       EXTI->EXTICR[linepos >> 2u] = regval;
 256              		.loc 1 217 39 is_stmt 0 view .LVU97
 257 009a CC68     		ldr	r4, [r1, #12]
 258 009c AC40     		lsls	r4, r4, r5
 217:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       EXTI->EXTICR[linepos >> 2u] = regval;
 259              		.loc 1 217 14 view .LVU98
 260 009e 3C43     		orrs	r4, r7
 261              	.LVL35:
 218:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 262              		.loc 1 218 7 is_stmt 1 view .LVU99
 218:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 263              		.loc 1 218 35 is_stmt 0 view .LVU100
 264 00a0 8451     		str	r4, [r0, r6]
 265 00a2 D6E7     		b	.L3
 266              	.LVL36:
 267              	.L8:
 233:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 268              		.loc 1 233 5 is_stmt 1 view .LVU101
 233:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 269              		.loc 1 233 12 is_stmt 0 view .LVU102
 270 00a4 9043     		bics	r0, r2
 271              	.LVL37:
 233:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 272              		.loc 1 233 12 view .LVU103
 273 00a6 DCE7     		b	.L9
 274              	.LVL38:
 275              	.L10:
 250:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 276              		.loc 1 250 5 is_stmt 1 view .LVU104
 250:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 277              		.loc 1 250 12 is_stmt 0 view .LVU105
 278 00a8 9043     		bics	r0, r2
 279              	.LVL39:
 250:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 280              		.loc 1 250 12 view .LVU106
 281 00aa E3E7     		b	.L11
 282              	.LVL40:
 283              	.L12:
 155:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 284              		.loc 1 155 12 view .LVU107
 285 00ac 0120     		movs	r0, #1
 286              	.LVL41:
ARM GAS  /tmp/ccRj6lr2.s 			page 11


 155:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 287              		.loc 1 155 12 view .LVU108
 288 00ae E3E7     		b	.L2
 289              	.LVL42:
 290              	.L13:
 155:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 291              		.loc 1 155 12 view .LVU109
 292 00b0 0120     		movs	r0, #1
 293              	.LVL43:
 155:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 294              		.loc 1 155 12 view .LVU110
 295 00b2 E1E7     		b	.L2
 296              	.L16:
 297              		.align	2
 298              	.L15:
 299 00b4 00180240 		.word	1073879040
 300 00b8 04180240 		.word	1073879044
 301 00bc 80180240 		.word	1073879168
 302 00c0 84180240 		.word	1073879172
 303              		.cfi_endproc
 304              	.LFE297:
 306              		.section	.text.HAL_EXTI_GetConfigLine,"ax",%progbits
 307              		.align	1
 308              		.global	HAL_EXTI_GetConfigLine
 309              		.syntax unified
 310              		.code	16
 311              		.thumb_func
 312              		.fpu softvfp
 314              	HAL_EXTI_GetConfigLine:
 315              	.LVL44:
 316              	.LFB298:
 258:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 259:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 260:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /**
 261:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @brief  Get configuration of a dedicated Exti line.
 262:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @param  hexti Exti handle.
 263:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @param  pExtiConfig Pointer on structure to store Exti configuration.
 264:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @retval HAL Status.
 265:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
 266:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
 267:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** {
 317              		.loc 1 267 1 is_stmt 1 view -0
 318              		.cfi_startproc
 319              		@ args = 0, pretend = 0, frame = 0
 320              		@ frame_needed = 0, uses_anonymous_args = 0
 321              		.loc 1 267 1 is_stmt 0 view .LVU112
 322 0000 70B5     		push	{r4, r5, r6, lr}
 323              	.LCFI1:
 324              		.cfi_def_cfa_offset 16
 325              		.cfi_offset 4, -16
 326              		.cfi_offset 5, -12
 327              		.cfi_offset 6, -8
 328              		.cfi_offset 14, -4
 268:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   __IO uint32_t *regaddr;
 329              		.loc 1 268 3 is_stmt 1 view .LVU113
 269:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t regval;
 330              		.loc 1 269 3 view .LVU114
ARM GAS  /tmp/ccRj6lr2.s 			page 12


 270:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t linepos;
 331              		.loc 1 270 3 view .LVU115
 271:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t maskline;
 332              		.loc 1 271 3 view .LVU116
 272:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t offset;
 333              		.loc 1 272 3 view .LVU117
 273:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 274:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Check null pointer */
 275:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   if ((hexti == NULL) || (pExtiConfig == NULL))
 334              		.loc 1 275 3 view .LVU118
 335              		.loc 1 275 6 is_stmt 0 view .LVU119
 336 0002 0028     		cmp	r0, #0
 337 0004 49D0     		beq	.L24
 338              		.loc 1 275 23 discriminator 1 view .LVU120
 339 0006 0029     		cmp	r1, #0
 340 0008 49D0     		beq	.L25
 276:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 277:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     return HAL_ERROR;
 278:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 279:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 280:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Check the parameter */
 281:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   assert_param(IS_EXTI_LINE(hexti->Line));
 341              		.loc 1 281 3 is_stmt 1 view .LVU121
 282:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 283:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Store handle line number to configiguration structure */
 284:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   pExtiConfig->Line = hexti->Line;
 342              		.loc 1 284 3 view .LVU122
 343              		.loc 1 284 28 is_stmt 0 view .LVU123
 344 000a 0468     		ldr	r4, [r0]
 345              		.loc 1 284 21 view .LVU124
 346 000c 0C60     		str	r4, [r1]
 285:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 286:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* compute line register offset and line mask */
 287:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   offset = ((pExtiConfig->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
 347              		.loc 1 287 3 is_stmt 1 view .LVU125
 348              		.loc 1 287 49 is_stmt 0 view .LVU126
 349 000e 220C     		lsrs	r2, r4, #16
 350              		.loc 1 287 10 view .LVU127
 351 0010 0123     		movs	r3, #1
 352 0012 1A40     		ands	r2, r3
 353              	.LVL45:
 288:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
 354              		.loc 1 288 3 is_stmt 1 view .LVU128
 355              		.loc 1 288 11 is_stmt 0 view .LVU129
 356 0014 1F25     		movs	r5, #31
 357 0016 2540     		ands	r5, r4
 358              	.LVL46:
 289:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   maskline = (1uL << linepos);
 359              		.loc 1 289 3 is_stmt 1 view .LVU130
 360              		.loc 1 289 12 is_stmt 0 view .LVU131
 361 0018 AB40     		lsls	r3, r3, r5
 362              	.LVL47:
 290:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 291:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* 1] Get core mode : interrupt */
 292:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regaddr = (&EXTI->IMR1 + (EXTI_MODE_OFFSET * offset));
 363              		.loc 1 292 3 is_stmt 1 view .LVU132
 364              		.loc 1 292 26 is_stmt 0 view .LVU133
ARM GAS  /tmp/ccRj6lr2.s 			page 13


 365 001a 1001     		lsls	r0, r2, #4
 366              	.LVL48:
 367              		.loc 1 292 11 view .LVU134
 368 001c 224E     		ldr	r6, .L29
 369 001e 8619     		adds	r6, r0, r6
 370              	.LVL49:
 293:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regval = *regaddr;
 371              		.loc 1 293 3 is_stmt 1 view .LVU135
 372              		.loc 1 293 10 is_stmt 0 view .LVU136
 373 0020 3668     		ldr	r6, [r6]
 374              	.LVL50:
 294:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 295:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Check if selected line is enable */
 296:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   if ((regval & maskline) != 0x00u)
 375              		.loc 1 296 3 is_stmt 1 view .LVU137
 376              		.loc 1 296 6 is_stmt 0 view .LVU138
 377 0022 1E42     		tst	r6, r3
 378 0024 29D0     		beq	.L19
 297:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 298:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     pExtiConfig->Mode = EXTI_MODE_INTERRUPT;
 379              		.loc 1 298 5 is_stmt 1 view .LVU139
 380              		.loc 1 298 23 is_stmt 0 view .LVU140
 381 0026 0126     		movs	r6, #1
 382              	.LVL51:
 383              		.loc 1 298 23 view .LVU141
 384 0028 4E60     		str	r6, [r1, #4]
 385              	.L20:
 299:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 300:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   else
 301:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 302:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     pExtiConfig->Mode = EXTI_MODE_NONE;
 303:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 304:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 305:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Get event mode */
 306:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regaddr = (&EXTI->EMR1 + (EXTI_MODE_OFFSET * offset));
 386              		.loc 1 306 3 is_stmt 1 view .LVU142
 387              		.loc 1 306 11 is_stmt 0 view .LVU143
 388 002a 204E     		ldr	r6, .L29+4
 389 002c B446     		mov	ip, r6
 390 002e 6044     		add	r0, r0, ip
 391              	.LVL52:
 307:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regval = *regaddr;
 392              		.loc 1 307 3 is_stmt 1 view .LVU144
 393              		.loc 1 307 10 is_stmt 0 view .LVU145
 394 0030 0068     		ldr	r0, [r0]
 395              	.LVL53:
 308:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 309:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Check if selected line is enable */
 310:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   if ((regval & maskline) != 0x00u)
 396              		.loc 1 310 3 is_stmt 1 view .LVU146
 397              		.loc 1 310 6 is_stmt 0 view .LVU147
 398 0032 1842     		tst	r0, r3
 399 0034 03D0     		beq	.L21
 311:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 312:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     pExtiConfig->Mode |= EXTI_MODE_EVENT;
 400              		.loc 1 312 5 is_stmt 1 view .LVU148
 401              		.loc 1 312 23 is_stmt 0 view .LVU149
ARM GAS  /tmp/ccRj6lr2.s 			page 14


 402 0036 0220     		movs	r0, #2
 403              	.LVL54:
 404              		.loc 1 312 23 view .LVU150
 405 0038 4E68     		ldr	r6, [r1, #4]
 406              	.LVL55:
 407              		.loc 1 312 23 view .LVU151
 408 003a 3043     		orrs	r0, r6
 409 003c 4860     		str	r0, [r1, #4]
 410              	.L21:
 313:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 314:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 315:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Get default Trigger and GPIOSel configuration */
 316:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   pExtiConfig->Trigger = EXTI_TRIGGER_NONE;
 411              		.loc 1 316 3 is_stmt 1 view .LVU152
 412              		.loc 1 316 24 is_stmt 0 view .LVU153
 413 003e 0020     		movs	r0, #0
 414 0040 8860     		str	r0, [r1, #8]
 317:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   pExtiConfig->GPIOSel = 0x00u;
 415              		.loc 1 317 3 is_stmt 1 view .LVU154
 416              		.loc 1 317 24 is_stmt 0 view .LVU155
 417 0042 C860     		str	r0, [r1, #12]
 318:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 319:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* 2] Get trigger for configurable lines : rising */
 320:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
 418              		.loc 1 320 3 is_stmt 1 view .LVU156
 419              		.loc 1 320 6 is_stmt 0 view .LVU157
 420 0044 A001     		lsls	r0, r4, #6
 421 0046 2CD5     		bpl	.L26
 321:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 322:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regaddr = (&EXTI->RTSR1 + (EXTI_CONFIG_OFFSET * offset));
 422              		.loc 1 322 5 is_stmt 1 view .LVU158
 423              		.loc 1 322 29 is_stmt 0 view .LVU159
 424 0048 5201     		lsls	r2, r2, #5
 425              	.LVL56:
 426              		.loc 1 322 13 view .LVU160
 427 004a 1948     		ldr	r0, .L29+8
 428 004c 1018     		adds	r0, r2, r0
 429              	.LVL57:
 323:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regval = *regaddr;
 430              		.loc 1 323 5 is_stmt 1 view .LVU161
 431              		.loc 1 323 12 is_stmt 0 view .LVU162
 432 004e 0068     		ldr	r0, [r0]
 433              	.LVL58:
 324:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 325:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Check if configuration of selected line is enable */
 326:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     if ((regval & maskline) != 0x00u)
 434              		.loc 1 326 5 is_stmt 1 view .LVU163
 435              		.loc 1 326 8 is_stmt 0 view .LVU164
 436 0050 1842     		tst	r0, r3
 437 0052 01D0     		beq	.L22
 327:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     {
 328:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       pExtiConfig->Trigger = EXTI_TRIGGER_RISING;
 438              		.loc 1 328 7 is_stmt 1 view .LVU165
 439              		.loc 1 328 28 is_stmt 0 view .LVU166
 440 0054 0120     		movs	r0, #1
 441              	.LVL59:
 442              		.loc 1 328 28 view .LVU167
ARM GAS  /tmp/ccRj6lr2.s 			page 15


 443 0056 8860     		str	r0, [r1, #8]
 444              	.LVL60:
 445              	.L22:
 329:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 330:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 331:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Get falling configuration */
 332:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regaddr = (&EXTI->FTSR1 + (EXTI_CONFIG_OFFSET * offset));
 446              		.loc 1 332 5 is_stmt 1 view .LVU168
 447              		.loc 1 332 13 is_stmt 0 view .LVU169
 448 0058 1648     		ldr	r0, .L29+12
 449 005a 8446     		mov	ip, r0
 450 005c 6244     		add	r2, r2, ip
 451              	.LVL61:
 333:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regval = *regaddr;
 452              		.loc 1 333 5 is_stmt 1 view .LVU170
 453              		.loc 1 333 12 is_stmt 0 view .LVU171
 454 005e 1268     		ldr	r2, [r2]
 455              	.LVL62:
 334:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 335:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Check if configuration of selected line is enable */
 336:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     if ((regval & maskline) != 0x00u)
 456              		.loc 1 336 5 is_stmt 1 view .LVU172
 457              		.loc 1 336 8 is_stmt 0 view .LVU173
 458 0060 1A42     		tst	r2, r3
 459 0062 03D0     		beq	.L23
 337:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     {
 338:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       pExtiConfig->Trigger |= EXTI_TRIGGER_FALLING;
 460              		.loc 1 338 7 is_stmt 1 view .LVU174
 461              		.loc 1 338 28 is_stmt 0 view .LVU175
 462 0064 0223     		movs	r3, #2
 463              	.LVL63:
 464              		.loc 1 338 28 view .LVU176
 465 0066 8A68     		ldr	r2, [r1, #8]
 466              	.LVL64:
 467              		.loc 1 338 28 view .LVU177
 468 0068 1343     		orrs	r3, r2
 469 006a 8B60     		str	r3, [r1, #8]
 470              	.L23:
 339:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 340:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 341:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Get Gpio port selection for gpio lines */
 342:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
 471              		.loc 1 342 5 is_stmt 1 view .LVU178
 472              		.loc 1 342 28 is_stmt 0 view .LVU179
 473 006c C022     		movs	r2, #192
 474 006e D204     		lsls	r2, r2, #19
 475 0070 1440     		ands	r4, r2
 476              	.LVL65:
 477              		.loc 1 342 8 view .LVU180
 478 0072 9442     		cmp	r4, r2
 479 0074 04D0     		beq	.L28
 343:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     {
 344:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       assert_param(IS_EXTI_GPIO_PIN(linepos));
 345:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 346:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval = EXTI->EXTICR[linepos >> 2u];
 347:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       pExtiConfig->GPIOSel = ((regval << (EXTI_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >> 2
 348:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
ARM GAS  /tmp/ccRj6lr2.s 			page 16


 349:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 350:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 351:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   return HAL_OK;
 480              		.loc 1 351 10 view .LVU181
 481 0076 0020     		movs	r0, #0
 482              	.LVL66:
 483              		.loc 1 351 10 view .LVU182
 484 0078 14E0     		b	.L18
 485              	.LVL67:
 486              	.L19:
 302:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 487              		.loc 1 302 5 is_stmt 1 view .LVU183
 302:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 488              		.loc 1 302 23 is_stmt 0 view .LVU184
 489 007a 0026     		movs	r6, #0
 490              	.LVL68:
 302:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 491              		.loc 1 302 23 view .LVU185
 492 007c 4E60     		str	r6, [r1, #4]
 493 007e D4E7     		b	.L20
 494              	.LVL69:
 495              	.L28:
 344:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 496              		.loc 1 344 7 is_stmt 1 view .LVU186
 346:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       pExtiConfig->GPIOSel = ((regval << (EXTI_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >> 2
 497              		.loc 1 346 7 view .LVU187
 346:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       pExtiConfig->GPIOSel = ((regval << (EXTI_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >> 2
 498              		.loc 1 346 37 is_stmt 0 view .LVU188
 499 0080 AB08     		lsrs	r3, r5, #2
 346:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       pExtiConfig->GPIOSel = ((regval << (EXTI_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >> 2
 500              		.loc 1 346 14 view .LVU189
 501 0082 1833     		adds	r3, r3, #24
 502 0084 9B00     		lsls	r3, r3, #2
 503 0086 0A4A     		ldr	r2, .L29+8
 504 0088 9B58     		ldr	r3, [r3, r2]
 505              	.LVL70:
 347:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 506              		.loc 1 347 7 is_stmt 1 view .LVU190
 347:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 507              		.loc 1 347 73 is_stmt 0 view .LVU191
 508 008a 0322     		movs	r2, #3
 509 008c AA43     		bics	r2, r5
 347:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 510              		.loc 1 347 66 view .LVU192
 511 008e D200     		lsls	r2, r2, #3
 347:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 512              		.loc 1 347 39 view .LVU193
 513 0090 9340     		lsls	r3, r3, r2
 514              	.LVL71:
 347:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 515              		.loc 1 347 96 view .LVU194
 516 0092 1B0E     		lsrs	r3, r3, #24
 347:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 517              		.loc 1 347 28 view .LVU195
 518 0094 CB60     		str	r3, [r1, #12]
 519              		.loc 1 351 10 view .LVU196
 520 0096 0020     		movs	r0, #0
ARM GAS  /tmp/ccRj6lr2.s 			page 17


 521              	.LVL72:
 522              		.loc 1 351 10 view .LVU197
 523 0098 04E0     		b	.L18
 524              	.LVL73:
 525              	.L24:
 277:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 526              		.loc 1 277 12 view .LVU198
 527 009a 0120     		movs	r0, #1
 528              	.LVL74:
 277:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 529              		.loc 1 277 12 view .LVU199
 530 009c 02E0     		b	.L18
 531              	.LVL75:
 532              	.L25:
 277:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 533              		.loc 1 277 12 view .LVU200
 534 009e 0120     		movs	r0, #1
 535              	.LVL76:
 277:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 536              		.loc 1 277 12 view .LVU201
 537 00a0 00E0     		b	.L18
 538              	.LVL77:
 539              	.L26:
 540              		.loc 1 351 10 view .LVU202
 541 00a2 0020     		movs	r0, #0
 542              	.LVL78:
 543              	.L18:
 352:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** }
 544              		.loc 1 352 1 view .LVU203
 545              		@ sp needed
 546 00a4 70BD     		pop	{r4, r5, r6, pc}
 547              	.L30:
 548 00a6 C046     		.align	2
 549              	.L29:
 550 00a8 80180240 		.word	1073879168
 551 00ac 84180240 		.word	1073879172
 552 00b0 00180240 		.word	1073879040
 553 00b4 04180240 		.word	1073879044
 554              		.cfi_endproc
 555              	.LFE298:
 557              		.section	.text.HAL_EXTI_ClearConfigLine,"ax",%progbits
 558              		.align	1
 559              		.global	HAL_EXTI_ClearConfigLine
 560              		.syntax unified
 561              		.code	16
 562              		.thumb_func
 563              		.fpu softvfp
 565              	HAL_EXTI_ClearConfigLine:
 566              	.LVL79:
 567              	.LFB299:
 353:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 354:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 355:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /**
 356:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @brief  Clear whole configuration of a dedicated Exti line.
 357:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @param  hexti Exti handle.
 358:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @retval HAL Status.
 359:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
ARM GAS  /tmp/ccRj6lr2.s 			page 18


 360:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti)
 361:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** {
 568              		.loc 1 361 1 is_stmt 1 view -0
 569              		.cfi_startproc
 570              		@ args = 0, pretend = 0, frame = 0
 571              		@ frame_needed = 0, uses_anonymous_args = 0
 572              		.loc 1 361 1 is_stmt 0 view .LVU205
 573 0000 F0B5     		push	{r4, r5, r6, r7, lr}
 574              	.LCFI2:
 575              		.cfi_def_cfa_offset 20
 576              		.cfi_offset 4, -20
 577              		.cfi_offset 5, -16
 578              		.cfi_offset 6, -12
 579              		.cfi_offset 7, -8
 580              		.cfi_offset 14, -4
 581 0002 C646     		mov	lr, r8
 582 0004 00B5     		push	{lr}
 583              	.LCFI3:
 584              		.cfi_def_cfa_offset 24
 585              		.cfi_offset 8, -24
 362:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   __IO uint32_t *regaddr;
 586              		.loc 1 362 3 is_stmt 1 view .LVU206
 363:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t regval;
 587              		.loc 1 363 3 view .LVU207
 364:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t linepos;
 588              		.loc 1 364 3 view .LVU208
 365:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t maskline;
 589              		.loc 1 365 3 view .LVU209
 366:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t offset;
 590              		.loc 1 366 3 view .LVU210
 367:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 368:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Check null pointer */
 369:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   if (hexti == NULL)
 591              		.loc 1 369 3 view .LVU211
 592              		.loc 1 369 6 is_stmt 0 view .LVU212
 593 0006 0028     		cmp	r0, #0
 594 0008 3ED0     		beq	.L33
 370:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 371:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     return HAL_ERROR;
 372:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 373:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 374:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Check the parameter */
 375:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   assert_param(IS_EXTI_LINE(hexti->Line));
 595              		.loc 1 375 3 is_stmt 1 view .LVU213
 376:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 377:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* compute line register offset and line mask */
 378:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
 596              		.loc 1 378 3 view .LVU214
 597              		.loc 1 378 19 is_stmt 0 view .LVU215
 598 000a 0668     		ldr	r6, [r0]
 599              		.loc 1 378 43 view .LVU216
 600 000c 330C     		lsrs	r3, r6, #16
 601              		.loc 1 378 10 view .LVU217
 602 000e 0122     		movs	r2, #1
 603 0010 1340     		ands	r3, r2
 604              	.LVL80:
 379:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   linepos = (hexti->Line & EXTI_PIN_MASK);
ARM GAS  /tmp/ccRj6lr2.s 			page 19


 605              		.loc 1 379 3 is_stmt 1 view .LVU218
 606              		.loc 1 379 11 is_stmt 0 view .LVU219
 607 0012 1F24     		movs	r4, #31
 608 0014 3440     		ands	r4, r6
 609              	.LVL81:
 380:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   maskline = (1uL << linepos);
 610              		.loc 1 380 3 is_stmt 1 view .LVU220
 611              		.loc 1 380 12 is_stmt 0 view .LVU221
 612 0016 A240     		lsls	r2, r2, r4
 613              	.LVL82:
 381:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 382:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* 1] Clear interrupt mode */
 383:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regaddr = (&EXTI->IMR1 + (EXTI_MODE_OFFSET * offset));
 614              		.loc 1 383 3 is_stmt 1 view .LVU222
 615              		.loc 1 383 26 is_stmt 0 view .LVU223
 616 0018 1901     		lsls	r1, r3, #4
 617              		.loc 1 383 11 view .LVU224
 618 001a 1E4D     		ldr	r5, .L37
 619 001c AC46     		mov	ip, r5
 620 001e 8C44     		add	ip, ip, r1
 621              	.LVL83:
 384:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regval = (*regaddr & ~maskline);
 622              		.loc 1 384 3 is_stmt 1 view .LVU225
 623              		.loc 1 384 13 is_stmt 0 view .LVU226
 624 0020 6546     		mov	r5, ip
 625 0022 2D68     		ldr	r5, [r5]
 626              		.loc 1 384 24 view .LVU227
 627 0024 D743     		mvns	r7, r2
 628 0026 B846     		mov	r8, r7
 629              		.loc 1 384 10 view .LVU228
 630 0028 9543     		bics	r5, r2
 631              	.LVL84:
 385:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *regaddr = regval;
 632              		.loc 1 385 3 is_stmt 1 view .LVU229
 633              		.loc 1 385 12 is_stmt 0 view .LVU230
 634 002a 6746     		mov	r7, ip
 635 002c 3D60     		str	r5, [r7]
 386:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 387:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* 2] Clear event mode */
 388:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regaddr = (&EXTI->EMR1 + (EXTI_MODE_OFFSET * offset));
 636              		.loc 1 388 3 is_stmt 1 view .LVU231
 637              		.loc 1 388 11 is_stmt 0 view .LVU232
 638 002e 1A4D     		ldr	r5, .L37+4
 639              	.LVL85:
 640              		.loc 1 388 11 view .LVU233
 641 0030 AC46     		mov	ip, r5
 642              	.LVL86:
 643              		.loc 1 388 11 view .LVU234
 644 0032 6144     		add	r1, r1, ip
 645              	.LVL87:
 389:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regval = (*regaddr & ~maskline);
 646              		.loc 1 389 3 is_stmt 1 view .LVU235
 647              		.loc 1 389 13 is_stmt 0 view .LVU236
 648 0034 0D68     		ldr	r5, [r1]
 649              		.loc 1 389 10 view .LVU237
 650 0036 9543     		bics	r5, r2
 651              	.LVL88:
ARM GAS  /tmp/ccRj6lr2.s 			page 20


 390:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *regaddr = regval;
 652              		.loc 1 390 3 is_stmt 1 view .LVU238
 653              		.loc 1 390 12 is_stmt 0 view .LVU239
 654 0038 0D60     		str	r5, [r1]
 391:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 392:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* 3] Clear triggers in case of configurable lines */
 393:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   if ((hexti->Line & EXTI_CONFIG) != 0x00u)
 655              		.loc 1 393 3 is_stmt 1 view .LVU240
 656              		.loc 1 393 6 is_stmt 0 view .LVU241
 657 003a 0268     		ldr	r2, [r0]
 658              	.LVL89:
 659              		.loc 1 393 6 view .LVU242
 660 003c 9201     		lsls	r2, r2, #6
 661 003e 25D5     		bpl	.L34
 394:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 395:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regaddr = (&EXTI->RTSR1 + (EXTI_CONFIG_OFFSET * offset));
 662              		.loc 1 395 5 is_stmt 1 view .LVU243
 663              		.loc 1 395 29 is_stmt 0 view .LVU244
 664 0040 5B01     		lsls	r3, r3, #5
 665              	.LVL90:
 666              		.loc 1 395 13 view .LVU245
 667 0042 164A     		ldr	r2, .L37+8
 668 0044 9918     		adds	r1, r3, r2
 669              	.LVL91:
 396:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regval = (*regaddr & ~maskline);
 670              		.loc 1 396 5 is_stmt 1 view .LVU246
 671              		.loc 1 396 15 is_stmt 0 view .LVU247
 672 0046 0A68     		ldr	r2, [r1]
 673              		.loc 1 396 12 view .LVU248
 674 0048 4546     		mov	r5, r8
 675              	.LVL92:
 676              		.loc 1 396 12 view .LVU249
 677 004a 2A40     		ands	r2, r5
 678              	.LVL93:
 397:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     *regaddr = regval;
 679              		.loc 1 397 5 is_stmt 1 view .LVU250
 680              		.loc 1 397 14 is_stmt 0 view .LVU251
 681 004c 0A60     		str	r2, [r1]
 398:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 399:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regaddr = (&EXTI->FTSR1 + (EXTI_CONFIG_OFFSET * offset));
 682              		.loc 1 399 5 is_stmt 1 view .LVU252
 683              		.loc 1 399 13 is_stmt 0 view .LVU253
 684 004e 144A     		ldr	r2, .L37+12
 685              	.LVL94:
 686              		.loc 1 399 13 view .LVU254
 687 0050 9446     		mov	ip, r2
 688 0052 6344     		add	r3, r3, ip
 689              	.LVL95:
 400:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regval = (*regaddr & ~maskline);
 690              		.loc 1 400 5 is_stmt 1 view .LVU255
 691              		.loc 1 400 15 is_stmt 0 view .LVU256
 692 0054 1A68     		ldr	r2, [r3]
 693              		.loc 1 400 12 view .LVU257
 694 0056 4746     		mov	r7, r8
 695 0058 1740     		ands	r7, r2
 696              	.LVL96:
 401:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     *regaddr = regval;
ARM GAS  /tmp/ccRj6lr2.s 			page 21


 697              		.loc 1 401 5 is_stmt 1 view .LVU258
 698              		.loc 1 401 14 is_stmt 0 view .LVU259
 699 005a 1F60     		str	r7, [r3]
 402:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 403:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Get Gpio port selection for gpio lines */
 404:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     if ((hexti->Line & EXTI_GPIO) == EXTI_GPIO)
 700              		.loc 1 404 5 is_stmt 1 view .LVU260
 701              		.loc 1 404 15 is_stmt 0 view .LVU261
 702 005c 0368     		ldr	r3, [r0]
 703              	.LVL97:
 704              		.loc 1 404 22 view .LVU262
 705 005e C022     		movs	r2, #192
 706 0060 D204     		lsls	r2, r2, #19
 707 0062 1340     		ands	r3, r2
 708              		.loc 1 404 8 view .LVU263
 709 0064 9342     		cmp	r3, r2
 710 0066 01D0     		beq	.L36
 405:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     {
 406:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       assert_param(IS_EXTI_GPIO_PIN(linepos));
 407:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 408:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval = EXTI->EXTICR[linepos >> 2u];
 409:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval &= ~(EXTI_EXTICR1_EXTI0 << (EXTI_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
 410:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       EXTI->EXTICR[linepos >> 2u] = regval;
 411:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 412:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 413:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 414:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   return HAL_OK;
 711              		.loc 1 414 10 view .LVU264
 712 0068 0020     		movs	r0, #0
 713              	.LVL98:
 714              		.loc 1 414 10 view .LVU265
 715 006a 10E0     		b	.L32
 716              	.LVL99:
 717              	.L36:
 406:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 718              		.loc 1 406 7 is_stmt 1 view .LVU266
 408:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval &= ~(EXTI_EXTICR1_EXTI0 << (EXTI_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
 719              		.loc 1 408 7 view .LVU267
 408:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval &= ~(EXTI_EXTICR1_EXTI0 << (EXTI_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
 720              		.loc 1 408 37 is_stmt 0 view .LVU268
 721 006c A408     		lsrs	r4, r4, #2
 722              	.LVL100:
 408:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval &= ~(EXTI_EXTICR1_EXTI0 << (EXTI_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
 723              		.loc 1 408 14 view .LVU269
 724 006e 0B49     		ldr	r1, .L37+8
 725              	.LVL101:
 408:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       regval &= ~(EXTI_EXTICR1_EXTI0 << (EXTI_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
 726              		.loc 1 408 14 view .LVU270
 727 0070 1834     		adds	r4, r4, #24
 728 0072 A400     		lsls	r4, r4, #2
 729 0074 6258     		ldr	r2, [r4, r1]
 730              	.LVL102:
 409:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       EXTI->EXTICR[linepos >> 2u] = regval;
 731              		.loc 1 409 7 is_stmt 1 view .LVU271
 409:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       EXTI->EXTICR[linepos >> 2u] = regval;
 732              		.loc 1 409 76 is_stmt 0 view .LVU272
 733 0076 0323     		movs	r3, #3
ARM GAS  /tmp/ccRj6lr2.s 			page 22


 734 0078 1E40     		ands	r6, r3
 735              	.LVL103:
 409:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       EXTI->EXTICR[linepos >> 2u] = regval;
 736              		.loc 1 409 65 view .LVU273
 737 007a F600     		lsls	r6, r6, #3
 409:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       EXTI->EXTICR[linepos >> 2u] = regval;
 738              		.loc 1 409 38 view .LVU274
 739 007c 0433     		adds	r3, r3, #4
 740 007e B340     		lsls	r3, r3, r6
 409:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       EXTI->EXTICR[linepos >> 2u] = regval;
 741              		.loc 1 409 14 view .LVU275
 742 0080 9A43     		bics	r2, r3
 743              	.LVL104:
 410:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 744              		.loc 1 410 7 is_stmt 1 view .LVU276
 410:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 745              		.loc 1 410 35 is_stmt 0 view .LVU277
 746 0082 6250     		str	r2, [r4, r1]
 747              		.loc 1 414 10 view .LVU278
 748 0084 0020     		movs	r0, #0
 749              	.LVL105:
 750              		.loc 1 414 10 view .LVU279
 751 0086 02E0     		b	.L32
 752              	.LVL106:
 753              	.L33:
 371:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 754              		.loc 1 371 12 view .LVU280
 755 0088 0120     		movs	r0, #1
 756              	.LVL107:
 371:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 757              		.loc 1 371 12 view .LVU281
 758 008a 00E0     		b	.L32
 759              	.LVL108:
 760              	.L34:
 761              		.loc 1 414 10 view .LVU282
 762 008c 0020     		movs	r0, #0
 763              	.LVL109:
 764              	.L32:
 415:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** }
 765              		.loc 1 415 1 view .LVU283
 766              		@ sp needed
 767 008e 80BC     		pop	{r7}
 768 0090 B846     		mov	r8, r7
 769 0092 F0BD     		pop	{r4, r5, r6, r7, pc}
 770              	.L38:
 771              		.align	2
 772              	.L37:
 773 0094 80180240 		.word	1073879168
 774 0098 84180240 		.word	1073879172
 775 009c 00180240 		.word	1073879040
 776 00a0 04180240 		.word	1073879044
 777              		.cfi_endproc
 778              	.LFE299:
 780              		.section	.text.HAL_EXTI_RegisterCallback,"ax",%progbits
 781              		.align	1
 782              		.global	HAL_EXTI_RegisterCallback
 783              		.syntax unified
ARM GAS  /tmp/ccRj6lr2.s 			page 23


 784              		.code	16
 785              		.thumb_func
 786              		.fpu softvfp
 788              	HAL_EXTI_RegisterCallback:
 789              	.LVL110:
 790              	.LFB300:
 416:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 417:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 418:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /**
 419:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @brief  Register callback for a dedicaated Exti line.
 420:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @param  hexti Exti handle.
 421:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @param  CallbackID User callback identifier.
 422:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *         This parameter can be one of @arg @ref EXTI_CallbackIDTypeDef values.
 423:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @param  pPendingCbfn function pointer to be stored as callback.
 424:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @retval HAL Status.
 425:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
 426:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef Callb
 427:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** {
 791              		.loc 1 427 1 is_stmt 1 view -0
 792              		.cfi_startproc
 793              		@ args = 0, pretend = 0, frame = 0
 794              		@ frame_needed = 0, uses_anonymous_args = 0
 795              		@ link register save eliminated.
 428:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   HAL_StatusTypeDef status = HAL_OK;
 796              		.loc 1 428 3 view .LVU285
 429:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 430:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   switch (CallbackID)
 797              		.loc 1 430 3 view .LVU286
 798 0000 0129     		cmp	r1, #1
 799 0002 09D0     		beq	.L40
 800 0004 0229     		cmp	r1, #2
 801 0006 0AD0     		beq	.L41
 802 0008 0029     		cmp	r1, #0
 803 000a 01D0     		beq	.L44
 804 000c 0120     		movs	r0, #1
 805              	.LVL111:
 806              	.L42:
 431:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 432:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     case  HAL_EXTI_COMMON_CB_ID:
 433:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       hexti->RisingCallback = pPendingCbfn;
 434:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       hexti->FallingCallback = pPendingCbfn;
 435:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       break;
 436:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 437:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     case  HAL_EXTI_RISING_CB_ID:
 438:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       hexti->RisingCallback = pPendingCbfn;
 439:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       break;
 440:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 441:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     case  HAL_EXTI_FALLING_CB_ID:
 442:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       hexti->FallingCallback = pPendingCbfn;
 443:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       break;
 444:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 445:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     default:
 446:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       status = HAL_ERROR;
 447:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       break;
 448:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 449:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 450:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   return status;
ARM GAS  /tmp/ccRj6lr2.s 			page 24


 807              		.loc 1 450 3 view .LVU287
 451:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** }
 808              		.loc 1 451 1 is_stmt 0 view .LVU288
 809              		@ sp needed
 810 000e 7047     		bx	lr
 811              	.LVL112:
 812              	.L44:
 433:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       hexti->FallingCallback = pPendingCbfn;
 813              		.loc 1 433 7 is_stmt 1 view .LVU289
 433:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       hexti->FallingCallback = pPendingCbfn;
 814              		.loc 1 433 29 is_stmt 0 view .LVU290
 815 0010 4260     		str	r2, [r0, #4]
 434:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       break;
 816              		.loc 1 434 7 is_stmt 1 view .LVU291
 434:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       break;
 817              		.loc 1 434 30 is_stmt 0 view .LVU292
 818 0012 8260     		str	r2, [r0, #8]
 435:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 819              		.loc 1 435 7 is_stmt 1 view .LVU293
 428:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 820              		.loc 1 428 21 is_stmt 0 view .LVU294
 821 0014 0800     		movs	r0, r1
 822              	.LVL113:
 435:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 823              		.loc 1 435 7 view .LVU295
 824 0016 FAE7     		b	.L42
 825              	.LVL114:
 826              	.L40:
 438:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       break;
 827              		.loc 1 438 7 is_stmt 1 view .LVU296
 438:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       break;
 828              		.loc 1 438 29 is_stmt 0 view .LVU297
 829 0018 4260     		str	r2, [r0, #4]
 439:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 830              		.loc 1 439 7 is_stmt 1 view .LVU298
 428:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 831              		.loc 1 428 21 is_stmt 0 view .LVU299
 832 001a 0020     		movs	r0, #0
 833              	.LVL115:
 439:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 834              		.loc 1 439 7 view .LVU300
 835 001c F7E7     		b	.L42
 836              	.LVL116:
 837              	.L41:
 442:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       break;
 838              		.loc 1 442 7 is_stmt 1 view .LVU301
 442:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       break;
 839              		.loc 1 442 30 is_stmt 0 view .LVU302
 840 001e 8260     		str	r2, [r0, #8]
 443:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 841              		.loc 1 443 7 is_stmt 1 view .LVU303
 428:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 842              		.loc 1 428 21 is_stmt 0 view .LVU304
 843 0020 0020     		movs	r0, #0
 844              	.LVL117:
 443:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 845              		.loc 1 443 7 view .LVU305
ARM GAS  /tmp/ccRj6lr2.s 			page 25


 846 0022 F4E7     		b	.L42
 847              		.cfi_endproc
 848              	.LFE300:
 850              		.section	.text.HAL_EXTI_GetHandle,"ax",%progbits
 851              		.align	1
 852              		.global	HAL_EXTI_GetHandle
 853              		.syntax unified
 854              		.code	16
 855              		.thumb_func
 856              		.fpu softvfp
 858              	HAL_EXTI_GetHandle:
 859              	.LVL118:
 860              	.LFB301:
 452:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 453:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 454:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /**
 455:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @brief  Store line number as handle private field.
 456:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @param  hexti Exti handle.
 457:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @param  ExtiLine Exti line number.
 458:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *         This parameter can be from 0 to @ref EXTI_LINE_NB.
 459:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @retval HAL Status.
 460:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
 461:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine)
 462:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** {
 861              		.loc 1 462 1 is_stmt 1 view -0
 862              		.cfi_startproc
 863              		@ args = 0, pretend = 0, frame = 0
 864              		@ frame_needed = 0, uses_anonymous_args = 0
 865              		@ link register save eliminated.
 463:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Check the parameters */
 464:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   assert_param(IS_EXTI_LINE(ExtiLine));
 866              		.loc 1 464 3 view .LVU307
 465:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 466:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Check null pointer */
 467:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   if (hexti == NULL)
 867              		.loc 1 467 3 view .LVU308
 868              		.loc 1 467 6 is_stmt 0 view .LVU309
 869 0000 0028     		cmp	r0, #0
 870 0002 02D0     		beq	.L47
 468:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 469:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     return HAL_ERROR;
 470:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 471:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   else
 472:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 473:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Store line number as handle private field */
 474:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     hexti->Line = ExtiLine;
 871              		.loc 1 474 5 is_stmt 1 view .LVU310
 872              		.loc 1 474 17 is_stmt 0 view .LVU311
 873 0004 0160     		str	r1, [r0]
 475:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 476:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     return HAL_OK;
 874              		.loc 1 476 5 is_stmt 1 view .LVU312
 875              		.loc 1 476 12 is_stmt 0 view .LVU313
 876 0006 0020     		movs	r0, #0
 877              	.LVL119:
 878              	.L46:
 477:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
ARM GAS  /tmp/ccRj6lr2.s 			page 26


 478:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** }
 879              		.loc 1 478 1 view .LVU314
 880              		@ sp needed
 881 0008 7047     		bx	lr
 882              	.LVL120:
 883              	.L47:
 469:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 884              		.loc 1 469 12 view .LVU315
 885 000a 0120     		movs	r0, #1
 886              	.LVL121:
 469:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 887              		.loc 1 469 12 view .LVU316
 888 000c FCE7     		b	.L46
 889              		.cfi_endproc
 890              	.LFE301:
 892              		.section	.text.HAL_EXTI_IRQHandler,"ax",%progbits
 893              		.align	1
 894              		.global	HAL_EXTI_IRQHandler
 895              		.syntax unified
 896              		.code	16
 897              		.thumb_func
 898              		.fpu softvfp
 900              	HAL_EXTI_IRQHandler:
 901              	.LVL122:
 902              	.LFB302:
 479:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 480:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 481:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /**
 482:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @}
 483:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
 484:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 485:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group2
 486:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****  *  @brief EXTI IO functions.
 487:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****  *
 488:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** @verbatim
 489:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****  ===============================================================================
 490:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****                        ##### IO operation functions #####
 491:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****  ===============================================================================
 492:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 493:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** @endverbatim
 494:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @{
 495:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
 496:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 497:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /**
 498:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @brief  Handle EXTI interrupt request.
 499:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @param  hexti Exti handle.
 500:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @retval none.
 501:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
 502:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** void HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti)
 503:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** {
 903              		.loc 1 503 1 is_stmt 1 view -0
 904              		.cfi_startproc
 905              		@ args = 0, pretend = 0, frame = 0
 906              		@ frame_needed = 0, uses_anonymous_args = 0
 907              		.loc 1 503 1 is_stmt 0 view .LVU318
 908 0000 70B5     		push	{r4, r5, r6, lr}
 909              	.LCFI4:
ARM GAS  /tmp/ccRj6lr2.s 			page 27


 910              		.cfi_def_cfa_offset 16
 911              		.cfi_offset 4, -16
 912              		.cfi_offset 5, -12
 913              		.cfi_offset 6, -8
 914              		.cfi_offset 14, -4
 915 0002 0600     		movs	r6, r0
 504:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   __IO uint32_t *regaddr;
 916              		.loc 1 504 3 is_stmt 1 view .LVU319
 505:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t regval;
 917              		.loc 1 505 3 view .LVU320
 506:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t maskline;
 918              		.loc 1 506 3 view .LVU321
 507:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t offset;
 919              		.loc 1 507 3 view .LVU322
 508:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 509:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Compute line register offset and line mask */
 510:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
 920              		.loc 1 510 3 view .LVU323
 921              		.loc 1 510 19 is_stmt 0 view .LVU324
 922 0004 0268     		ldr	r2, [r0]
 923              		.loc 1 510 43 view .LVU325
 924 0006 140C     		lsrs	r4, r2, #16
 925              		.loc 1 510 10 view .LVU326
 926 0008 0125     		movs	r5, #1
 927 000a 2C40     		ands	r4, r5
 928              	.LVL123:
 511:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
 929              		.loc 1 511 3 is_stmt 1 view .LVU327
 930              		.loc 1 511 35 is_stmt 0 view .LVU328
 931 000c 1F23     		movs	r3, #31
 932 000e 1340     		ands	r3, r2
 933              		.loc 1 511 12 view .LVU329
 934 0010 9D40     		lsls	r5, r5, r3
 935              	.LVL124:
 512:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 513:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Get rising edge pending bit  */
 514:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regaddr = (&EXTI->RPR1 + (EXTI_CONFIG_OFFSET * offset));
 936              		.loc 1 514 3 is_stmt 1 view .LVU330
 937              		.loc 1 514 26 is_stmt 0 view .LVU331
 938 0012 6401     		lsls	r4, r4, #5
 939              	.LVL125:
 940              		.loc 1 514 11 view .LVU332
 941 0014 0A4B     		ldr	r3, .L51
 942 0016 E318     		adds	r3, r4, r3
 943              	.LVL126:
 515:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regval = (*regaddr & maskline);
 944              		.loc 1 515 3 is_stmt 1 view .LVU333
 945              		.loc 1 515 13 is_stmt 0 view .LVU334
 946 0018 1A68     		ldr	r2, [r3]
 947              	.LVL127:
 516:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 517:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   if (regval != 0x00u)
 948              		.loc 1 517 3 is_stmt 1 view .LVU335
 949              		.loc 1 517 6 is_stmt 0 view .LVU336
 950 001a 1542     		tst	r5, r2
 951 001c 04D0     		beq	.L49
 518:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
ARM GAS  /tmp/ccRj6lr2.s 			page 28


 519:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Clear pending bit */
 520:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     *regaddr = maskline;
 952              		.loc 1 520 5 is_stmt 1 view .LVU337
 953              		.loc 1 520 14 is_stmt 0 view .LVU338
 954 001e 1D60     		str	r5, [r3]
 955              	.LVL128:
 521:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 522:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Call rising callback */
 523:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     if (hexti->RisingCallback != NULL)
 956              		.loc 1 523 5 is_stmt 1 view .LVU339
 957              		.loc 1 523 14 is_stmt 0 view .LVU340
 958 0020 4368     		ldr	r3, [r0, #4]
 959              	.LVL129:
 960              		.loc 1 523 8 view .LVU341
 961 0022 002B     		cmp	r3, #0
 962 0024 00D0     		beq	.L49
 524:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     {
 525:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       hexti->RisingCallback();
 963              		.loc 1 525 7 is_stmt 1 view .LVU342
 964 0026 9847     		blx	r3
 965              	.LVL130:
 966              	.L49:
 526:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 527:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 528:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 529:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Get falling edge pending bit  */
 530:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regaddr = (&EXTI->FPR1 + (EXTI_CONFIG_OFFSET * offset));
 967              		.loc 1 530 3 view .LVU343
 968              		.loc 1 530 11 is_stmt 0 view .LVU344
 969 0028 064B     		ldr	r3, .L51+4
 970 002a 9C46     		mov	ip, r3
 971 002c 6444     		add	r4, r4, ip
 972              	.LVL131:
 531:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regval = (*regaddr & maskline);
 973              		.loc 1 531 3 is_stmt 1 view .LVU345
 974              		.loc 1 531 13 is_stmt 0 view .LVU346
 975 002e 2368     		ldr	r3, [r4]
 976              	.LVL132:
 532:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 533:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   if (regval != 0x00u)
 977              		.loc 1 533 3 is_stmt 1 view .LVU347
 978              		.loc 1 533 6 is_stmt 0 view .LVU348
 979 0030 1D42     		tst	r5, r3
 980 0032 04D0     		beq	.L48
 534:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 535:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Clear pending bit */
 536:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     *regaddr = maskline;
 981              		.loc 1 536 5 is_stmt 1 view .LVU349
 982              		.loc 1 536 14 is_stmt 0 view .LVU350
 983 0034 2560     		str	r5, [r4]
 537:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 538:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Call rising callback */
 539:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     if (hexti->FallingCallback != NULL)
 984              		.loc 1 539 5 is_stmt 1 view .LVU351
 985              		.loc 1 539 14 is_stmt 0 view .LVU352
 986 0036 B368     		ldr	r3, [r6, #8]
 987              	.LVL133:
ARM GAS  /tmp/ccRj6lr2.s 			page 29


 988              		.loc 1 539 8 view .LVU353
 989 0038 002B     		cmp	r3, #0
 990 003a 00D0     		beq	.L48
 540:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     {
 541:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****       hexti->FallingCallback();
 991              		.loc 1 541 7 is_stmt 1 view .LVU354
 992 003c 9847     		blx	r3
 993              	.LVL134:
 994              	.L48:
 542:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     }
 543:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 544:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** }
 995              		.loc 1 544 1 is_stmt 0 view .LVU355
 996              		@ sp needed
 997              	.LVL135:
 998              	.LVL136:
 999              	.LVL137:
 1000              		.loc 1 544 1 view .LVU356
 1001 003e 70BD     		pop	{r4, r5, r6, pc}
 1002              	.L52:
 1003              		.align	2
 1004              	.L51:
 1005 0040 0C180240 		.word	1073879052
 1006 0044 10180240 		.word	1073879056
 1007              		.cfi_endproc
 1008              	.LFE302:
 1010              		.section	.text.HAL_EXTI_GetPending,"ax",%progbits
 1011              		.align	1
 1012              		.global	HAL_EXTI_GetPending
 1013              		.syntax unified
 1014              		.code	16
 1015              		.thumb_func
 1016              		.fpu softvfp
 1018              	HAL_EXTI_GetPending:
 1019              	.LVL138:
 1020              	.LFB303:
 545:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 546:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 547:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /**
 548:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @brief  Get interrupt pending bit of a dedicated line.
 549:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @param  hexti Exti handle.
 550:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @param  Edge Specify which pending edge as to be checked.
 551:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *         This parameter can be one of the following values:
 552:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *           @arg @ref EXTI_TRIGGER_RISING
 553:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *           @arg @ref EXTI_TRIGGER_FALLING
 554:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @retval 1 if interrupt is pending else 0.
 555:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
 556:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** uint32_t HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
 557:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** {
 1021              		.loc 1 557 1 is_stmt 1 view -0
 1022              		.cfi_startproc
 1023              		@ args = 0, pretend = 0, frame = 0
 1024              		@ frame_needed = 0, uses_anonymous_args = 0
 1025              		.loc 1 557 1 is_stmt 0 view .LVU358
 1026 0000 10B5     		push	{r4, lr}
 1027              	.LCFI5:
 1028              		.cfi_def_cfa_offset 8
ARM GAS  /tmp/ccRj6lr2.s 			page 30


 1029              		.cfi_offset 4, -8
 1030              		.cfi_offset 14, -4
 558:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   __IO uint32_t *regaddr;
 1031              		.loc 1 558 3 is_stmt 1 view .LVU359
 559:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t regval;
 1032              		.loc 1 559 3 view .LVU360
 560:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t linepos;
 1033              		.loc 1 560 3 view .LVU361
 561:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t maskline;
 1034              		.loc 1 561 3 view .LVU362
 562:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t offset;
 1035              		.loc 1 562 3 view .LVU363
 563:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 564:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Check parameters */
 565:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   assert_param(IS_EXTI_LINE(hexti->Line));
 1036              		.loc 1 565 3 view .LVU364
 566:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
 1037              		.loc 1 566 3 view .LVU365
 567:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   assert_param(IS_EXTI_PENDING_EDGE(Edge));
 1038              		.loc 1 567 3 view .LVU366
 568:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 569:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* compute line register offset and line mask */
 570:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
 1039              		.loc 1 570 3 view .LVU367
 1040              		.loc 1 570 19 is_stmt 0 view .LVU368
 1041 0002 0468     		ldr	r4, [r0]
 1042              		.loc 1 570 43 view .LVU369
 1043 0004 230C     		lsrs	r3, r4, #16
 1044              		.loc 1 570 10 view .LVU370
 1045 0006 0120     		movs	r0, #1
 1046              	.LVL139:
 1047              		.loc 1 570 10 view .LVU371
 1048 0008 0340     		ands	r3, r0
 1049              	.LVL140:
 571:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   linepos = (hexti->Line & EXTI_PIN_MASK);
 1050              		.loc 1 571 3 is_stmt 1 view .LVU372
 1051              		.loc 1 571 11 is_stmt 0 view .LVU373
 1052 000a 1F22     		movs	r2, #31
 1053 000c 2240     		ands	r2, r4
 1054              	.LVL141:
 572:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   maskline = (1uL << linepos);
 1055              		.loc 1 572 3 is_stmt 1 view .LVU374
 1056              		.loc 1 572 12 is_stmt 0 view .LVU375
 1057 000e 9040     		lsls	r0, r0, r2
 1058              	.LVL142:
 573:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 574:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   if (Edge != EXTI_TRIGGER_RISING)
 1059              		.loc 1 574 3 is_stmt 1 view .LVU376
 1060              		.loc 1 574 6 is_stmt 0 view .LVU377
 1061 0010 0129     		cmp	r1, #1
 1062 0012 07D0     		beq	.L54
 575:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 576:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Get falling edge pending bit */
 577:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regaddr = (&EXTI->FPR1 + (EXTI_CONFIG_OFFSET * offset));
 1063              		.loc 1 577 5 is_stmt 1 view .LVU378
 1064              		.loc 1 577 28 is_stmt 0 view .LVU379
 1065 0014 5B01     		lsls	r3, r3, #5
ARM GAS  /tmp/ccRj6lr2.s 			page 31


 1066              	.LVL143:
 1067              		.loc 1 577 13 view .LVU380
 1068 0016 0649     		ldr	r1, .L56
 1069              	.LVL144:
 1070              		.loc 1 577 13 view .LVU381
 1071 0018 8C46     		mov	ip, r1
 1072 001a 6344     		add	r3, r3, ip
 1073              	.LVL145:
 1074              	.L55:
 578:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 579:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   else
 580:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 581:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Get rising edge pending bit */
 582:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regaddr = (&EXTI->RPR1 + (EXTI_CONFIG_OFFSET * offset));
 583:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 584:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 585:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* return 1 if bit is set else 0 */
 586:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regval = ((*regaddr & maskline) >> linepos);
 1075              		.loc 1 586 3 is_stmt 1 view .LVU382
 1076              		.loc 1 586 14 is_stmt 0 view .LVU383
 1077 001c 1B68     		ldr	r3, [r3]
 1078              	.LVL146:
 1079              		.loc 1 586 23 view .LVU384
 1080 001e 1840     		ands	r0, r3
 1081              	.LVL147:
 1082              		.loc 1 586 10 view .LVU385
 1083 0020 D040     		lsrs	r0, r0, r2
 1084              	.LVL148:
 587:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   return regval;
 1085              		.loc 1 587 3 is_stmt 1 view .LVU386
 588:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** }
 1086              		.loc 1 588 1 is_stmt 0 view .LVU387
 1087              		@ sp needed
 1088              	.LVL149:
 1089              		.loc 1 588 1 view .LVU388
 1090 0022 10BD     		pop	{r4, pc}
 1091              	.LVL150:
 1092              	.L54:
 582:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 1093              		.loc 1 582 5 is_stmt 1 view .LVU389
 582:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 1094              		.loc 1 582 28 is_stmt 0 view .LVU390
 1095 0024 5B01     		lsls	r3, r3, #5
 1096              	.LVL151:
 582:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 1097              		.loc 1 582 13 view .LVU391
 1098 0026 0349     		ldr	r1, .L56+4
 1099              	.LVL152:
 582:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 1100              		.loc 1 582 13 view .LVU392
 1101 0028 8C46     		mov	ip, r1
 1102 002a 6344     		add	r3, r3, ip
 1103              	.LVL153:
 582:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 1104              		.loc 1 582 13 view .LVU393
 1105 002c F6E7     		b	.L55
 1106              	.L57:
ARM GAS  /tmp/ccRj6lr2.s 			page 32


 1107 002e C046     		.align	2
 1108              	.L56:
 1109 0030 10180240 		.word	1073879056
 1110 0034 0C180240 		.word	1073879052
 1111              		.cfi_endproc
 1112              	.LFE303:
 1114              		.section	.text.HAL_EXTI_ClearPending,"ax",%progbits
 1115              		.align	1
 1116              		.global	HAL_EXTI_ClearPending
 1117              		.syntax unified
 1118              		.code	16
 1119              		.thumb_func
 1120              		.fpu softvfp
 1122              	HAL_EXTI_ClearPending:
 1123              	.LVL154:
 1124              	.LFB304:
 589:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 590:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 591:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /**
 592:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @brief  Clear interrupt pending bit of a dedicated line.
 593:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @param  hexti Exti handle.
 594:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @param  Edge Specify which pending edge as to be clear.
 595:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *         This parameter can be one of the following values:
 596:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *           @arg @ref EXTI_TRIGGER_RISING
 597:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *           @arg @ref EXTI_TRIGGER_FALLING
 598:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @retval None.
 599:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
 600:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** void HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
 601:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** {
 1125              		.loc 1 601 1 is_stmt 1 view -0
 1126              		.cfi_startproc
 1127              		@ args = 0, pretend = 0, frame = 0
 1128              		@ frame_needed = 0, uses_anonymous_args = 0
 1129              		.loc 1 601 1 is_stmt 0 view .LVU395
 1130 0000 10B5     		push	{r4, lr}
 1131              	.LCFI6:
 1132              		.cfi_def_cfa_offset 8
 1133              		.cfi_offset 4, -8
 1134              		.cfi_offset 14, -4
 602:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   __IO uint32_t *regaddr;
 1135              		.loc 1 602 3 is_stmt 1 view .LVU396
 603:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t maskline;
 1136              		.loc 1 603 3 view .LVU397
 604:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t offset;
 1137              		.loc 1 604 3 view .LVU398
 605:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 606:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Check parameters */
 607:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   assert_param(IS_EXTI_LINE(hexti->Line));
 1138              		.loc 1 607 3 view .LVU399
 608:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
 1139              		.loc 1 608 3 view .LVU400
 609:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   assert_param(IS_EXTI_PENDING_EDGE(Edge));
 1140              		.loc 1 609 3 view .LVU401
 610:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 611:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* compute line register offset and line mask */
 612:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
 1141              		.loc 1 612 3 view .LVU402
ARM GAS  /tmp/ccRj6lr2.s 			page 33


 1142              		.loc 1 612 19 is_stmt 0 view .LVU403
 1143 0002 0468     		ldr	r4, [r0]
 1144              		.loc 1 612 43 view .LVU404
 1145 0004 230C     		lsrs	r3, r4, #16
 1146              		.loc 1 612 10 view .LVU405
 1147 0006 0122     		movs	r2, #1
 1148 0008 1340     		ands	r3, r2
 1149              	.LVL155:
 613:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
 1150              		.loc 1 613 3 is_stmt 1 view .LVU406
 1151              		.loc 1 613 35 is_stmt 0 view .LVU407
 1152 000a 1F20     		movs	r0, #31
 1153              	.LVL156:
 1154              		.loc 1 613 35 view .LVU408
 1155 000c 2040     		ands	r0, r4
 1156              		.loc 1 613 12 view .LVU409
 1157 000e 8240     		lsls	r2, r2, r0
 1158              	.LVL157:
 614:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 615:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   if (Edge != EXTI_TRIGGER_RISING)
 1159              		.loc 1 615 3 is_stmt 1 view .LVU410
 1160              		.loc 1 615 6 is_stmt 0 view .LVU411
 1161 0010 0129     		cmp	r1, #1
 1162 0012 05D0     		beq	.L59
 616:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 617:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Get falling edge pending register address */
 618:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regaddr = (&EXTI->FPR1 + (EXTI_CONFIG_OFFSET * offset));
 1163              		.loc 1 618 5 is_stmt 1 view .LVU412
 1164              		.loc 1 618 28 is_stmt 0 view .LVU413
 1165 0014 5B01     		lsls	r3, r3, #5
 1166              	.LVL158:
 1167              		.loc 1 618 13 view .LVU414
 1168 0016 0549     		ldr	r1, .L61
 1169              	.LVL159:
 1170              		.loc 1 618 13 view .LVU415
 1171 0018 8C46     		mov	ip, r1
 1172 001a 6344     		add	r3, r3, ip
 1173              	.LVL160:
 1174              	.L60:
 619:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 620:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   else
 621:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   {
 622:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     /* Get falling edge pending register address */
 623:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****     regaddr = (&EXTI->RPR1 + (EXTI_CONFIG_OFFSET * offset));
 624:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 625:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 626:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Clear Pending bit */
 627:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *regaddr =  maskline;
 1175              		.loc 1 627 3 is_stmt 1 view .LVU416
 1176              		.loc 1 627 12 is_stmt 0 view .LVU417
 1177 001c 1A60     		str	r2, [r3]
 628:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** }
 1178              		.loc 1 628 1 view .LVU418
 1179              		@ sp needed
 1180              	.LVL161:
 1181              		.loc 1 628 1 view .LVU419
 1182 001e 10BD     		pop	{r4, pc}
ARM GAS  /tmp/ccRj6lr2.s 			page 34


 1183              	.LVL162:
 1184              	.L59:
 623:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 1185              		.loc 1 623 5 is_stmt 1 view .LVU420
 623:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 1186              		.loc 1 623 28 is_stmt 0 view .LVU421
 1187 0020 5B01     		lsls	r3, r3, #5
 1188              	.LVL163:
 623:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 1189              		.loc 1 623 13 view .LVU422
 1190 0022 0349     		ldr	r1, .L61+4
 1191              	.LVL164:
 623:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 1192              		.loc 1 623 13 view .LVU423
 1193 0024 8C46     		mov	ip, r1
 1194 0026 6344     		add	r3, r3, ip
 1195              	.LVL165:
 623:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   }
 1196              		.loc 1 623 13 view .LVU424
 1197 0028 F8E7     		b	.L60
 1198              	.L62:
 1199 002a C046     		.align	2
 1200              	.L61:
 1201 002c 10180240 		.word	1073879056
 1202 0030 0C180240 		.word	1073879052
 1203              		.cfi_endproc
 1204              	.LFE304:
 1206              		.section	.text.HAL_EXTI_GenerateSWI,"ax",%progbits
 1207              		.align	1
 1208              		.global	HAL_EXTI_GenerateSWI
 1209              		.syntax unified
 1210              		.code	16
 1211              		.thumb_func
 1212              		.fpu softvfp
 1214              	HAL_EXTI_GenerateSWI:
 1215              	.LVL166:
 1216              	.LFB305:
 629:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 630:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 631:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** /**
 632:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @brief  Generate a software interrupt for a dedicated line.
 633:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @param  hexti Exti handle.
 634:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   * @retval None.
 635:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   */
 636:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** void HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti)
 637:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** {
 1217              		.loc 1 637 1 is_stmt 1 view -0
 1218              		.cfi_startproc
 1219              		@ args = 0, pretend = 0, frame = 0
 1220              		@ frame_needed = 0, uses_anonymous_args = 0
 1221              		@ link register save eliminated.
 638:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   __IO uint32_t *regaddr;
 1222              		.loc 1 638 3 view .LVU426
 639:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t maskline;
 1223              		.loc 1 639 3 view .LVU427
 640:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   uint32_t offset;
 1224              		.loc 1 640 3 view .LVU428
ARM GAS  /tmp/ccRj6lr2.s 			page 35


 641:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 642:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* Check parameterd */
 643:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   assert_param(IS_EXTI_LINE(hexti->Line));
 1225              		.loc 1 643 3 view .LVU429
 644:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
 1226              		.loc 1 644 3 view .LVU430
 645:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 646:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   /* compute line register offset and line mask */
 647:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   offset = ((hexti->Line & EXTI_REG_MASK) >> EXTI_REG_SHIFT);
 1227              		.loc 1 647 3 view .LVU431
 1228              		.loc 1 647 19 is_stmt 0 view .LVU432
 1229 0000 0068     		ldr	r0, [r0]
 1230              	.LVL167:
 1231              		.loc 1 647 43 view .LVU433
 1232 0002 030C     		lsrs	r3, r0, #16
 1233              		.loc 1 647 10 view .LVU434
 1234 0004 0122     		movs	r2, #1
 1235 0006 1340     		ands	r3, r2
 1236              	.LVL168:
 648:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
 1237              		.loc 1 648 3 is_stmt 1 view .LVU435
 1238              		.loc 1 648 35 is_stmt 0 view .LVU436
 1239 0008 1F21     		movs	r1, #31
 1240 000a 0140     		ands	r1, r0
 1241              		.loc 1 648 12 view .LVU437
 1242 000c 8A40     		lsls	r2, r2, r1
 1243              	.LVL169:
 649:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** 
 650:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   regaddr = (&EXTI->SWIER1 + (EXTI_CONFIG_OFFSET * offset));
 1244              		.loc 1 650 3 is_stmt 1 view .LVU438
 1245              		.loc 1 650 28 is_stmt 0 view .LVU439
 1246 000e 5B01     		lsls	r3, r3, #5
 1247              	.LVL170:
 1248              		.loc 1 650 11 view .LVU440
 1249 0010 0249     		ldr	r1, .L64
 1250 0012 8C46     		mov	ip, r1
 1251 0014 6344     		add	r3, r3, ip
 1252              	.LVL171:
 651:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c ****   *regaddr = maskline;
 1253              		.loc 1 651 3 is_stmt 1 view .LVU441
 1254              		.loc 1 651 12 is_stmt 0 view .LVU442
 1255 0016 1A60     		str	r2, [r3]
 652:Drivers/STM32G0xx_HAL_Driver/Src/stm32g0xx_hal_exti.c **** }
 1256              		.loc 1 652 1 view .LVU443
 1257              		@ sp needed
 1258 0018 7047     		bx	lr
 1259              	.L65:
 1260 001a C046     		.align	2
 1261              	.L64:
 1262 001c 08180240 		.word	1073879048
 1263              		.cfi_endproc
 1264              	.LFE305:
 1266              		.text
 1267              	.Letext0:
 1268              		.file 2 "/usr/lib/gcc/arm-none-eabi/10.3.1/include/stdint.h"
 1269              		.file 3 "Drivers/CMSIS/Device/ST/STM32G0xx/Include/stm32g031xx.h"
 1270              		.file 4 "Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_def.h"
ARM GAS  /tmp/ccRj6lr2.s 			page 36


 1271              		.file 5 "Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_hal_exti.h"
 1272              		.file 6 "Drivers/STM32G0xx_HAL_Driver/Inc/stm32g0xx_ll_dma.h"
ARM GAS  /tmp/ccRj6lr2.s 			page 37


DEFINED SYMBOLS
                            *ABS*:0000000000000000 stm32g0xx_hal_exti.c
     /tmp/ccRj6lr2.s:16     .text.HAL_EXTI_SetConfigLine:0000000000000000 $t
     /tmp/ccRj6lr2.s:24     .text.HAL_EXTI_SetConfigLine:0000000000000000 HAL_EXTI_SetConfigLine
     /tmp/ccRj6lr2.s:299    .text.HAL_EXTI_SetConfigLine:00000000000000b4 $d
     /tmp/ccRj6lr2.s:307    .text.HAL_EXTI_GetConfigLine:0000000000000000 $t
     /tmp/ccRj6lr2.s:314    .text.HAL_EXTI_GetConfigLine:0000000000000000 HAL_EXTI_GetConfigLine
     /tmp/ccRj6lr2.s:550    .text.HAL_EXTI_GetConfigLine:00000000000000a8 $d
     /tmp/ccRj6lr2.s:558    .text.HAL_EXTI_ClearConfigLine:0000000000000000 $t
     /tmp/ccRj6lr2.s:565    .text.HAL_EXTI_ClearConfigLine:0000000000000000 HAL_EXTI_ClearConfigLine
     /tmp/ccRj6lr2.s:773    .text.HAL_EXTI_ClearConfigLine:0000000000000094 $d
     /tmp/ccRj6lr2.s:781    .text.HAL_EXTI_RegisterCallback:0000000000000000 $t
     /tmp/ccRj6lr2.s:788    .text.HAL_EXTI_RegisterCallback:0000000000000000 HAL_EXTI_RegisterCallback
     /tmp/ccRj6lr2.s:851    .text.HAL_EXTI_GetHandle:0000000000000000 $t
     /tmp/ccRj6lr2.s:858    .text.HAL_EXTI_GetHandle:0000000000000000 HAL_EXTI_GetHandle
     /tmp/ccRj6lr2.s:893    .text.HAL_EXTI_IRQHandler:0000000000000000 $t
     /tmp/ccRj6lr2.s:900    .text.HAL_EXTI_IRQHandler:0000000000000000 HAL_EXTI_IRQHandler
     /tmp/ccRj6lr2.s:1005   .text.HAL_EXTI_IRQHandler:0000000000000040 $d
     /tmp/ccRj6lr2.s:1011   .text.HAL_EXTI_GetPending:0000000000000000 $t
     /tmp/ccRj6lr2.s:1018   .text.HAL_EXTI_GetPending:0000000000000000 HAL_EXTI_GetPending
     /tmp/ccRj6lr2.s:1109   .text.HAL_EXTI_GetPending:0000000000000030 $d
     /tmp/ccRj6lr2.s:1115   .text.HAL_EXTI_ClearPending:0000000000000000 $t
     /tmp/ccRj6lr2.s:1122   .text.HAL_EXTI_ClearPending:0000000000000000 HAL_EXTI_ClearPending
     /tmp/ccRj6lr2.s:1201   .text.HAL_EXTI_ClearPending:000000000000002c $d
     /tmp/ccRj6lr2.s:1207   .text.HAL_EXTI_GenerateSWI:0000000000000000 $t
     /tmp/ccRj6lr2.s:1214   .text.HAL_EXTI_GenerateSWI:0000000000000000 HAL_EXTI_GenerateSWI
     /tmp/ccRj6lr2.s:1262   .text.HAL_EXTI_GenerateSWI:000000000000001c $d

NO UNDEFINED SYMBOLS
