; generated by ARM C/C++ Compiler, 4.1 [Build 894]
; commandline ArmCC [--list --split_sections --debug -c --asm --interleave -o.\STM324xG_EVAL\stm32f4xx_it.o --asm_dir=.\STM324xG_EVAL\ --list_dir=.\STM324xG_EVAL\ --depend=.\STM324xG_EVAL\stm32f4xx_it.d --cpu=Cortex-M4.fp --apcs=interwork -O0 -Otime -I..\ -I..\..\..\Libraries\CMSIS\Device\ST\STM32F4xx\Include -I..\..\..\Libraries\STM32F4xx_StdPeriph_Driver\inc -I..\..\..\Utilities\STM32_EVAL\Common -I..\..\..\Utilities\STM32_EVAL\STM3240_41_G_EVAL -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -IC:\Keil\ARM\Inc\ST\STM32F4xx -D__MICROLIB -DUSE_STM324xG_EVAL -DSTM32F4XX -DUSE_STDPERIPH_DRIVER --omf_browse=.\STM324xG_EVAL\stm32f4xx_it.crf ..\stm32f4xx_it.c]
                          THUMB

                          AREA ||i.BusFault_Handler||, CODE, READONLY, ALIGN=1

                  BusFault_Handler PROC
;;;68       */
;;;69     void BusFault_Handler(void)
000000  bf00              NOP      
                  |L1.2|
;;;70     {
;;;71       /* Go to infinite loop when Bus Fault exception occurs */
;;;72       while (1)
000002  e7fe              B        |L1.2|
;;;73       {
;;;74       }
;;;75     }
;;;76     
                          ENDP


                          AREA ||i.DebugMon_Handler||, CODE, READONLY, ALIGN=1

                  DebugMon_Handler PROC
;;;103      */
;;;104    void DebugMon_Handler(void)
000000  4770              BX       lr
;;;105    {
;;;106    }
;;;107    
                          ENDP


                          AREA ||i.EXTI15_10_IRQHandler||, CODE, READONLY, ALIGN=2

                  EXTI15_10_IRQHandler PROC
;;;138      */
;;;139    void EXTI15_10_IRQHandler(void)
000000  4810              LDR      r0,|L3.68|
;;;140    {
;;;141    	 
;;;142    	if(EXTI->PR & (1<<12))
000002  6800              LDR      r0,[r0,#0]
000004  f4105f80          TST      r0,#0x1000
000008  d01b              BEQ      |L3.66|
;;;143    	{  EXTI->PR |= (1<<12);
00000a  480e              LDR      r0,|L3.68|
00000c  6800              LDR      r0,[r0,#0]
00000e  f4405080          ORR      r0,r0,#0x1000
000012  490c              LDR      r1,|L3.68|
000014  6008              STR      r0,[r1,#0]
;;;144    
;;;145    
;;;146    	if (on)
000016  480c              LDR      r0,|L3.72|
000018  6800              LDR      r0,[r0,#0]  ; on
00001a  b148              CBZ      r0,|L3.48|
;;;147    	{
;;;148    	 GPIOB->ODR |= ((1 << 13)|(1 << 15)	);
00001c  480b              LDR      r0,|L3.76|
00001e  6800              LDR      r0,[r0,#0]
000020  f4404020          ORR      r0,r0,#0xa000
000024  4909              LDR      r1,|L3.76|
000026  6008              STR      r0,[r1,#0]
;;;149    	 on = 0;
000028  2000              MOVS     r0,#0
00002a  4907              LDR      r1,|L3.72|
00002c  6008              STR      r0,[r1,#0]  ; on
00002e  e008              B        |L3.66|
                  |L3.48|
;;;150    	}
;;;151    	else
;;;152     	{
;;;153    	GPIOB->ODR &= ~((1 << 13)|(1 << 15)	);
000030  4806              LDR      r0,|L3.76|
000032  6800              LDR      r0,[r0,#0]
000034  f4204020          BIC      r0,r0,#0xa000
000038  4904              LDR      r1,|L3.76|
00003a  6008              STR      r0,[r1,#0]
;;;154    	on = 1;
00003c  2001              MOVS     r0,#1
00003e  4902              LDR      r1,|L3.72|
000040  6008              STR      r0,[r1,#0]  ; on
                  |L3.66|
;;;155    	}
;;;156    	}
;;;157    	
;;;158    }
000042  4770              BX       lr
;;;159    void USART2_IRQHandler(void)
                          ENDP

                  |L3.68|
                          DCD      0x40013c14
                  |L3.72|
                          DCD      ||on||
                  |L3.76|
                          DCD      0x40020414

                          AREA ||i.HardFault_Handler||, CODE, READONLY, ALIGN=1

                  HardFault_Handler PROC
;;;39       */
;;;40     void HardFault_Handler(void)
000000  bf00              NOP      
                  |L4.2|
;;;41     {
;;;42       /* Go to infinite loop when Hard Fault exception occurs */
;;;43       
;;;44        
;;;45       while (1)
000002  e7fe              B        |L4.2|
;;;46       {
;;;47       
;;;48       }
;;;49     }
;;;50     
                          ENDP


                          AREA ||i.MemManage_Handler||, CODE, READONLY, ALIGN=1

                  MemManage_Handler PROC
;;;55       */
;;;56     void MemManage_Handler(void)
000000  bf00              NOP      
                  |L5.2|
;;;57     {
;;;58       /* Go to infinite loop when Memory Manage exception occurs */
;;;59       while (1)
000002  e7fe              B        |L5.2|
;;;60       {
;;;61       }
;;;62     }
;;;63     
                          ENDP


                          AREA ||i.NMI_Handler||, CODE, READONLY, ALIGN=1

                  NMI_Handler PROC
;;;30       static u8 interni=0,preskoc;
;;;31     void NMI_Handler(void)
000000  4770              BX       lr
;;;32     {
;;;33     }
;;;34     
                          ENDP


                          AREA ||i.PendSV_Handler||, CODE, READONLY, ALIGN=1

                  PendSV_Handler PROC
;;;112      */
;;;113    void PendSV_Handler(void)
000000  4770              BX       lr
;;;114    {
;;;115    }
;;;116    
                          ENDP


                          AREA ||i.SVC_Handler||, CODE, READONLY, ALIGN=1

                  SVC_Handler PROC
;;;94       */
;;;95     void SVC_Handler(void)
000000  4770              BX       lr
;;;96     {
;;;97     }
;;;98     
                          ENDP


                          AREA ||i.SysTick_Handler||, CODE, READONLY, ALIGN=1

                  SysTick_Handler PROC
;;;121      */
;;;122    void SysTick_Handler(void)
000000  b510              PUSH     {r4,lr}
;;;123    {
;;;124      TimingDelay_Decrement();
000002  f7fffffe          BL       TimingDelay_Decrement
;;;125    }
000006  bd10              POP      {r4,pc}
;;;126    
                          ENDP


                          AREA ||i.USART1_IRQHandler||, CODE, READONLY, ALIGN=2

                  USART1_IRQHandler PROC
;;;200    //***************************
;;;201    void USART1_IRQHandler(void)
000000  b510              PUSH     {r4,lr}
;;;202    { u8 tmp;
;;;203      GPIOB->ODR &= ~((1 << 15)	);
000002  4818              LDR      r0,|L10.100|
000004  6800              LDR      r0,[r0,#0]
000006  f4204000          BIC      r0,r0,#0x8000
00000a  4916              LDR      r1,|L10.100|
00000c  6008              STR      r0,[r1,#0]
;;;204    tmp = USART_ReceiveData(USART1);
00000e  4816              LDR      r0,|L10.104|
000010  f7fffffe          BL       USART_ReceiveData
000014  b2c4              UXTB     r4,r0
;;;205    USART_SendData(USART2,tmp);
000016  4621              MOV      r1,r4
000018  4814              LDR      r0,|L10.108|
00001a  f7fffffe          BL       USART_SendData
;;;206    while(USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET);
00001e  bf00              NOP      
                  |L10.32|
000020  2180              MOVS     r1,#0x80
000022  4812              LDR      r0,|L10.108|
000024  f7fffffe          BL       USART_GetFlagStatus
000028  2800              CMP      r0,#0
00002a  d0f9              BEQ      |L10.32|
;;;207    if(tmp == 0xFF)
00002c  2cff              CMP      r4,#0xff
00002e  d102              BNE      |L10.54|
;;;208    poslat =1 ;
000030  2001              MOVS     r0,#1
000032  490f              LDR      r1,|L10.112|
000034  6008              STR      r0,[r1,#0]  ; poslat
                  |L10.54|
;;;209    
;;;210    
;;;211    if (on)
000036  480f              LDR      r0,|L10.116|
000038  6800              LDR      r0,[r0,#0]  ; on
00003a  b148              CBZ      r0,|L10.80|
;;;212    	{
;;;213    	 GPIOB->ODR |= ((1 << 15)	);
00003c  4809              LDR      r0,|L10.100|
00003e  6800              LDR      r0,[r0,#0]
000040  f4404000          ORR      r0,r0,#0x8000
000044  4907              LDR      r1,|L10.100|
000046  6008              STR      r0,[r1,#0]
;;;214    	 on = 0;
000048  2000              MOVS     r0,#0
00004a  490a              LDR      r1,|L10.116|
00004c  6008              STR      r0,[r1,#0]  ; on
00004e  e008              B        |L10.98|
                  |L10.80|
;;;215    	}
;;;216    	else
;;;217     	{
;;;218    	GPIOB->ODR &= ~((1 << 15)	);
000050  4804              LDR      r0,|L10.100|
000052  6800              LDR      r0,[r0,#0]
000054  f4204000          BIC      r0,r0,#0x8000
000058  4902              LDR      r1,|L10.100|
00005a  6008              STR      r0,[r1,#0]
;;;219    	on = 1;
00005c  2001              MOVS     r0,#1
00005e  4905              LDR      r1,|L10.116|
000060  6008              STR      r0,[r1,#0]  ; on
                  |L10.98|
;;;220    	}
;;;221    }      
000062  bd10              POP      {r4,pc}
;;;222    
                          ENDP

                  |L10.100|
                          DCD      0x40020414
                  |L10.104|
                          DCD      0x40011000
                  |L10.108|
                          DCD      0x40004400
                  |L10.112|
                          DCD      poslat
                  |L10.116|
                          DCD      ||on||

                          AREA ||i.USART2_IRQHandler||, CODE, READONLY, ALIGN=2

                  USART2_IRQHandler PROC
;;;158    }
;;;159    void USART2_IRQHandler(void)
000000  b510              PUSH     {r4,lr}
;;;160    { u8 tmp;
;;;161    
;;;162     //  GPIOB->ODR &= ~((1 << 13)|(1 << 15)	);
;;;163    
;;;164      preskoc = 0;
000002  2000              MOVS     r0,#0
000004  491f              LDR      r1,|L11.132|
000006  7008              STRB     r0,[r1,#0]
;;;165    tmp = USART_ReceiveData(USART2);
000008  481f              LDR      r0,|L11.136|
00000a  f7fffffe          BL       USART_ReceiveData
00000e  b2c4              UXTB     r4,r0
;;;166    if(interni)
000010  481e              LDR      r0,|L11.140|
000012  7800              LDRB     r0,[r0,#0]  ; interni
000014  b138              CBZ      r0,|L11.38|
;;;167    {
;;;168     adamove_data = tmp;
000016  481e              LDR      r0,|L11.144|
000018  7004              STRB     r4,[r0,#0]
;;;169    interni = 0;
00001a  2000              MOVS     r0,#0
00001c  491b              LDR      r1,|L11.140|
00001e  7008              STRB     r0,[r1,#0]
;;;170    preskoc = 1;
000020  2001              MOVS     r0,#1
000022  4918              LDR      r1,|L11.132|
000024  7008              STRB     r0,[r1,#0]
                  |L11.38|
;;;171    }
;;;172    if(tmp == '!')
000026  2c21              CMP      r4,#0x21
000028  d104              BNE      |L11.52|
;;;173    {
;;;174    interni = 1; 
00002a  2001              MOVS     r0,#1
00002c  4917              LDR      r1,|L11.140|
00002e  7008              STRB     r0,[r1,#0]
;;;175    preskoc = 1;
000030  4914              LDR      r1,|L11.132|
000032  7008              STRB     r0,[r1,#0]
                  |L11.52|
;;;176    }
;;;177    //-------
;;;178    if(poslat==0 && preskoc ==0)
000034  4817              LDR      r0,|L11.148|
000036  6800              LDR      r0,[r0,#0]  ; poslat
000038  b968              CBNZ     r0,|L11.86|
00003a  4812              LDR      r0,|L11.132|
00003c  7800              LDRB     r0,[r0,#0]  ; preskoc
00003e  b950              CBNZ     r0,|L11.86|
;;;179    {
;;;180    USART_SendData(USART1,tmp);
000040  4621              MOV      r1,r4
000042  4815              LDR      r0,|L11.152|
000044  f7fffffe          BL       USART_SendData
;;;181    while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
000048  bf00              NOP      
                  |L11.74|
00004a  2180              MOVS     r1,#0x80
00004c  4812              LDR      r0,|L11.152|
00004e  f7fffffe          BL       USART_GetFlagStatus
000052  2800              CMP      r0,#0
000054  d0f9              BEQ      |L11.74|
                  |L11.86|
;;;182    }
;;;183    	if (on)
000056  4811              LDR      r0,|L11.156|
000058  6800              LDR      r0,[r0,#0]  ; on
00005a  b148              CBZ      r0,|L11.112|
;;;184    	{
;;;185    	 GPIOB->ODR |= ((1 << 13)	);
00005c  4810              LDR      r0,|L11.160|
00005e  6800              LDR      r0,[r0,#0]
000060  f4405000          ORR      r0,r0,#0x2000
000064  490e              LDR      r1,|L11.160|
000066  6008              STR      r0,[r1,#0]
;;;186    	 on = 0;
000068  2000              MOVS     r0,#0
00006a  490c              LDR      r1,|L11.156|
00006c  6008              STR      r0,[r1,#0]  ; on
00006e  e008              B        |L11.130|
                  |L11.112|
;;;187    	}
;;;188    	else
;;;189     	{
;;;190    	GPIOB->ODR &= ~((1 << 13)	);
000070  480b              LDR      r0,|L11.160|
000072  6800              LDR      r0,[r0,#0]
000074  f4205000          BIC      r0,r0,#0x2000
000078  4909              LDR      r1,|L11.160|
00007a  6008              STR      r0,[r1,#0]
;;;191    	on = 1;
00007c  2001              MOVS     r0,#1
00007e  4907              LDR      r1,|L11.156|
000080  6008              STR      r0,[r1,#0]  ; on
                  |L11.130|
;;;192    	}
;;;193    } 
000082  bd10              POP      {r4,pc}
;;;194    
                          ENDP

                  |L11.132|
                          DCD      preskoc
                  |L11.136|
                          DCD      0x40004400
                  |L11.140|
                          DCD      interni
                  |L11.144|
                          DCD      adamove_data
                  |L11.148|
                          DCD      poslat
                  |L11.152|
                          DCD      0x40011000
                  |L11.156|
                          DCD      ||on||
                  |L11.160|
                          DCD      0x40020414

                          AREA ||i.USART6_IRQHandler||, CODE, READONLY, ALIGN=2

                  USART6_IRQHandler PROC
;;;194    
;;;195    void USART6_IRQHandler(void)
000000  b510              PUSH     {r4,lr}
;;;196    { int tmp;
;;;197    tmp = USART_ReceiveData(USART6);
000002  4804              LDR      r0,|L12.20|
000004  f7fffffe          BL       USART_ReceiveData
000008  4604              MOV      r4,r0
;;;198    USART_SendData(USART6,tmp);
00000a  4621              MOV      r1,r4
00000c  4801              LDR      r0,|L12.20|
00000e  f7fffffe          BL       USART_SendData
;;;199    }
000012  bd10              POP      {r4,pc}
;;;200    //***************************
                          ENDP

                  |L12.20|
                          DCD      0x40011400

                          AREA ||i.UsageFault_Handler||, CODE, READONLY, ALIGN=1

                  UsageFault_Handler PROC
;;;81       */
;;;82     void UsageFault_Handler(void)
000000  bf00              NOP      
                  |L13.2|
;;;83     {
;;;84       /* Go to infinite loop when Usage Fault exception occurs */
;;;85       while (1)
000002  e7fe              B        |L13.2|
;;;86       {
;;;87       }
;;;88     }
;;;89     
                          ENDP


                          AREA ||.bss||, DATA, NOINIT, ALIGN=0

                  mereni
                          %        15

                          AREA ||.data||, DATA, ALIGN=2

                  ||on||
                          DCD      0x00000001
                  poslat
                          DCD      0x00000000
                  interni
000008  00000000          DCB      0x00,0x00,0x00,0x00
                  TimingDelay
                          DCD      0x00000000
                  preskoc
000010  00                DCB      0x00

;*** Start embedded assembler ***

#line 1 "..\\stm32f4xx_it.c"
	AREA ||.rev16_text||, CODE, READONLY
	THUMB
	EXPORT |__asm___14_stm32f4xx_it_c_poslat____REV16|
#line 114 "C:\\Keil\\ARM\\CMSIS\\Include\\core_cmInstr.h"
|__asm___14_stm32f4xx_it_c_poslat____REV16| PROC
#line 115

 rev16 r0, r0
 bx lr
	ENDP
	AREA ||.revsh_text||, CODE, READONLY
	THUMB
	EXPORT |__asm___14_stm32f4xx_it_c_poslat____REVSH|
#line 128
|__asm___14_stm32f4xx_it_c_poslat____REVSH| PROC
#line 129

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
