@GNU AS
@.CharSet=CP1251

.SYNTAX    unified                  @ синтаксис исходного кода
.THUMB                              @ тип используемых инструкций Thumb
.CPU       cortex-m0                @ процессор

.SECTION   .vectors

@ таблица векторов прерываний
     .word     _STACK_END             @ 0x0000 Вершина стека
     .word     Start+1                @ 0x0004 RESET

@ Таблица прерываний для ядра микроконтроллеров STM32F0x0xxx

     .word     IRQ_NMI+1              @ 0x0008 NMI
     .word     IRQ_HardFault+1        @ 0x000C Hard Fault

     .word     0                      @ 0x0010 Reserved
     .word     0                      @ 0x0014 Reserved
     .word     0                      @ 0x0018 Reserved
     .word     0                      @ 0x001C Reserved
     .word     0                      @ 0x0020 Reserved
     .word     0                      @ 0x0024 Reserved
     .word     0                      @ 0x0028 Reserved

     .word     IRQ_SVCall+1           @ 0x002C SVCall
     .word     0                      @ 0x0030 Reserved
     .word     0                      @ 0x0034 Reserved
     .word     IRQ_PendSV+1           @ 0x0038 PendSV
     .word     IRQ_SysTick+1          @ 0x003C SysTick


@ Прерывания периферии микроконтроллера
     .word     IRQ_WWDG+1              @ 0x0040 Window Watchdog interrupt
     .word     0                       @ 0x0044 PVD through EXTI line detection interrupt
     .word     IRQ_RTC+1               @ 0x0048 RTC interrupts (combined EXTI lines 17, 19 and 20)
     .word     IRQ_FLASH+1             @ 0x004C Flash global interrupt
     .word     IRQ_RCC+1               @ 0x0050 RCC global interrupts
     .word     IRQ_EXTI0_1+1           @ 0x0054 EXTI Line[1:0] interrupts
     .word     IRQ_EXTI2_3+1           @ 0x0058 EXTI Line[3:2] interrupts
     .word     IRQ_EXTI4_5+1           @ 0x005C EXTI Line[15:4] interrupts
     .word     0                       @ 0x0060 Reserved
     .word     IRQ_DMA_CH1+1           @ 0x0064 DMA channel 1 interrupt
     .word     IRQ_DMA_CH2_3+1         @ 0x0068 DMA channel 2 and 3 interrupts
     .word     IRQ_DMA_CH4_5+1         @ 0x006C DMA channel 4 and 5 interrupts
     .word     IRQ_ADC+1               @ 0x0070 ADC interrupts
     .word     IRQ_TIM1_BRK_UP_TRG_COM+1 @ 0x0074 TIM1 break, update, trigger and commutation interrupt
     .word     IRQ_TIM1_CC+1           @ 0x0078  TIM1 capture compare interrupt
     .word     0                       @ 0x007C Reserved
     .word     IRQ_TIM3+1              @ 0x0080 TIM3 global interrupt
     .word     IRQ_TIM6+1              @ 0x0084 TIM6 global interrupt
     .word     0                       @ 0x0088 Reserved
     .word     IRQ_TIM14+1             @ 0x008C TIM14 global interrupt
     .word     IRQ_TIM15+1             @ 0x0090 TIM15 global interrupt
     .word     IRQ_TIM16+1             @ 0x0094 TIM16 global interrupt
     .word     IRQ_TIM17+1             @ 0x0098 TIM17 global interrupt
     .word     IRQ_I2C1+1              @ 0x009C I2C1 global interrupt
     .word     IRQ_I2C2+1              @ 0x00A0 I2C2 global interrupt
     .word     IRQ_SPI1+1              @ 0x00A4 SPI1 global interrupt
     .word     IRQ_SPI2+1              @ 0x00A8 SPI2 global interrupt
     .word     IRQ_USART1+1            @ 0x00AC USART1 global interrupt
     .word     IRQ_USART2+1            @ 0x00B0 USART2 global interrupt
     .word     IRQ_USART3_4_5_6+1      @ 0x00B4 USART3, USART4, USART5, USART6 global interrupts
     .word     0                       @ 0x00B8 Reserved
     .word     IRQ_USB+1               @ 0x00BC USB global interrupt (combined with EXTI line 18)



@ Заглушки для любых необрабатываемых прерываний

@ Прерывания ядра микроконтроллера
.weak IRQ_NMI
IRQ_NMI:

.weak IRQ_HardFault
IRQ_HardFault:

.weak IRQ_SVCall
IRQ_SVCall:

.weak IRQ_PendSV
IRQ_PendSV:

.weak IRQ_SysTick
IRQ_SysTick:

@ прерывания периферии микроконтроллера
.weak IRQ_WWDG
IRQ_WWDG:
.weak IRQ_RTC
IRQ_RTC:

.weak IRQ_FLASH
IRQ_FLASH:

.weak IRQ_RCC
IRQ_RCC:

.weak IRQ_EXTI0_1
IRQ_EXTI0_1:

.weak IRQ_EXTI2_3
IRQ_EXTI2_3:

.weak IRQ_EXTI4_5
IRQ_EXTI4_5:

.weak IRQ_DMA_CH1
IRQ_DMA_CH1:

.weak IRQ_DMA_CH2_3
IRQ_DMA_CH2_3:

.weak IRQ_DMA_CH4_5
IRQ_DMA_CH4_5:

.weak IRQ_ADC
IRQ_ADC:

.weak IRQ_TIM1_BRK_UP_TRG_COM
IRQ_TIM1_BRK_UP_TRG_COM:

.weak IRQ_TIM1_CC
IRQ_TIM1_CC:

.weak IRQ_TIM3
IRQ_TIM3:

.weak IRQ_TIM6
IRQ_TIM6:

.weak IRQ_TIM14
IRQ_TIM14:

.weak IRQ_TIM15
IRQ_TIM15:

.weak IRQ_TIM16
IRQ_TIM16:

.weak IRQ_TIM17
IRQ_TIM17:

.weak IRQ_I2C1
IRQ_I2C1:

.weak IRQ_I2C2
IRQ_I2C2:

.weak IRQ_SPI1
IRQ_SPI1:

.weak IRQ_SPI2
IRQ_SPI2:

.weak IRQ_USART1
IRQ_USART1:

.weak IRQ_USART2
IRQ_USART2:

.weak IRQ_USART3_4_5_6
IRQ_USART3_4_5_6:

.weak IRQ_USB
IRQ_USB:

int_vect_terminator:
          B     int_vect_terminator
