; generated by Component: ARM Compiler 5.05 (build 41) Tool: ArmCC [4d0eb9]
; commandline ArmCC [--list --debug -c --asm --interleave -o.\obj\uart.o --asm_dir=.\lst\ --list_dir=.\lst\ --depend=.\obj\uart.d --cpu=Cortex-M0 --apcs=interwork -I..\..\..\Library\CMSIS\Include -I..\..\..\Library\Device\Nuvoton\Mini51Series\Include -I..\..\..\Library\StdDriver\inc -I.\StdDriver\inc -I.\CMSIS -IG:\Geek\Projects\Zulolo_F\Force\Code\Zulolo_F_Force\RTE -ID:\Keil_v5\ARM\PACK\Nuvoton\NuMicro_DFP\1.0.2\Device\Mini51\Include -ID:\Keil_v5\ARM\CMSIS\Include -I\ -D__MICROLIB --omf_browse=.\obj\uart.crf StdDriver\src\uart.c]
                          THUMB

                          AREA ||.text||, CODE, READONLY, ALIGN=2

                  UART_ClearIntFlag PROC
;;;35      */
;;;36     void UART_ClearIntFlag(UART_T* uart , uint32_t u32InterruptFlag)
000000  054a              LSLS     r2,r1,#21
;;;37     {
000002  d507              BPL      |L1.20|
;;;38     
;;;39         if(u32InterruptFlag & UART_ISR_RLS_INT_Msk) /* clear Receive Line Status Interrupt */       
;;;40         {
;;;41             uart->FSR |= UART_FSR_BIF_Msk | UART_FSR_FEF_Msk | UART_FSR_FEF_Msk;
000004  6982              LDR      r2,[r0,#0x18]
000006  2360              MOVS     r3,#0x60
000008  431a              ORRS     r2,r2,r3
00000a  6182              STR      r2,[r0,#0x18]
;;;42             uart->FSR |= UART_FSR_RS485_ADD_DETF_Msk;
00000c  6982              LDR      r2,[r0,#0x18]
00000e  2308              MOVS     r3,#8
000010  431a              ORRS     r2,r2,r3
000012  6182              STR      r2,[r0,#0x18]
                  |L1.20|
;;;43         }
;;;44     
;;;45         if(u32InterruptFlag & UART_ISR_MODEM_INT_Msk)  /* clear Modem Interrupt */       
000014  050a              LSLS     r2,r1,#20
000016  d503              BPL      |L1.32|
;;;46             uart->MSR |= UART_MSR_DCTSF_Msk;
000018  6942              LDR      r2,[r0,#0x14]
00001a  2301              MOVS     r3,#1
00001c  431a              ORRS     r2,r2,r3
00001e  6142              STR      r2,[r0,#0x14]
                  |L1.32|
;;;47     
;;;48         if(u32InterruptFlag & UART_ISR_BUF_ERR_INT_Msk)  /* clear Buffer ErrorInterrupt */       
000020  048a              LSLS     r2,r1,#18
000022  d503              BPL      |L1.44|
;;;49         {
;;;50             uart->FSR |= UART_FSR_RX_OVER_IF_Msk | UART_FSR_TX_OVER_IF_Msk;
000024  6982              LDR      r2,[r0,#0x18]
000026  4b78              LDR      r3,|L1.520|
000028  431a              ORRS     r2,r2,r3
00002a  6182              STR      r2,[r0,#0x18]
                  |L1.44|
;;;51         }
;;;52     
;;;53         if(u32InterruptFlag & UART_ISR_TOUT_INT_Msk)  /* clear Modem Interrupt */       
00002c  04c9              LSLS     r1,r1,#19
00002e  d503              BPL      |L1.56|
;;;54             uart->ISR |= UART_ISR_TOUT_IF_Msk;
000030  69c1              LDR      r1,[r0,#0x1c]
000032  2210              MOVS     r2,#0x10
000034  4311              ORRS     r1,r1,r2
000036  61c1              STR      r1,[r0,#0x1c]
                  |L1.56|
;;;55     
;;;56     }
000038  4770              BX       lr
;;;57     
                          ENDP

                  UART_Close PROC
;;;65      */
;;;66     void UART_Close(UART_T* uart)
00003a  2100              MOVS     r1,#0
;;;67     {
;;;68         uart->IER = 0;
00003c  6041              STR      r1,[r0,#4]
00003e  2001              MOVS     r0,#1
000040  4972              LDR      r1,|L1.524|
000042  0300              LSLS     r0,r0,#12
000044  6008              STR      r0,[r1,#0]
;;;69         NVIC_DisableIRQ(UART_IRQn);
;;;70     }
000046  4770              BX       lr
;;;71     
                          ENDP

                  UART_DisableFlowCtrl PROC
;;;79      */
;;;80     void UART_DisableFlowCtrl(UART_T* uart)
000048  6841              LDR      r1,[r0,#4]
;;;81     {
;;;82         uart->IER &= ~(UART_IER_AUTO_RTS_EN_Msk | UART_IER_AUTO_CTS_EN_Msk);
00004a  2203              MOVS     r2,#3
00004c  0312              LSLS     r2,r2,#12
00004e  4391              BICS     r1,r1,r2
000050  6041              STR      r1,[r0,#4]
;;;83     }
000052  4770              BX       lr
;;;84     
                          ENDP

                  UART_DisableInt PROC
;;;101     */
;;;102    void UART_DisableInt(UART_T*  uart, uint32_t u32InterruptFlag )
000054  6842              LDR      r2,[r0,#4]
;;;103    {
;;;104        uart->IER &= ~ u32InterruptFlag;
000056  438a              BICS     r2,r2,r1
000058  6042              STR      r2,[r0,#4]
;;;105    
;;;106        if(uart == UART) 
00005a  496d              LDR      r1,|L1.528|
00005c  4288              CMP      r0,r1
00005e  d103              BNE      |L1.104|
000060  2001              MOVS     r0,#1                 ;103
000062  496a              LDR      r1,|L1.524|
000064  0300              LSLS     r0,r0,#12             ;103
000066  6008              STR      r0,[r1,#0]            ;103
                  |L1.104|
;;;107        {
;;;108            NVIC_DisableIRQ(UART_IRQn); 
;;;109        }
;;;110    
;;;111    }
000068  4770              BX       lr
;;;112    
                          ENDP

                  UART_EnableFlowCtrl PROC
;;;121     */
;;;122    void UART_EnableFlowCtrl(UART_T* uart )
00006a  6901              LDR      r1,[r0,#0x10]
;;;123    {
;;;124        uart->MCR |= UART_MCR_LEV_RTS_Msk;
00006c  2201              MOVS     r2,#1
00006e  0252              LSLS     r2,r2,#9
000070  4311              ORRS     r1,r1,r2
000072  6101              STR      r1,[r0,#0x10]
;;;125        uart->MCR &= UART_MCR_RTS_Msk;
000074  6901              LDR      r1,[r0,#0x10]
000076  2202              MOVS     r2,#2
000078  4011              ANDS     r1,r1,r2
00007a  6101              STR      r1,[r0,#0x10]
;;;126        uart->MSR |= UART_MSR_LEV_CTS_Msk;
00007c  6941              LDR      r1,[r0,#0x14]
00007e  01d2              LSLS     r2,r2,#7
000080  4311              ORRS     r1,r1,r2
000082  6141              STR      r1,[r0,#0x14]
;;;127        uart->IER |= UART_IER_AUTO_RTS_EN_Msk | UART_IER_AUTO_CTS_EN_Msk;
000084  6841              LDR      r1,[r0,#4]
000086  2203              MOVS     r2,#3
000088  0312              LSLS     r2,r2,#12
00008a  4311              ORRS     r1,r1,r2
00008c  6041              STR      r1,[r0,#4]
;;;128    }
00008e  4770              BX       lr
;;;129    
                          ENDP

                  UART_EnableInt PROC
;;;146     */
;;;147    void UART_EnableInt(UART_T*  uart, uint32_t u32InterruptFlag )
000090  6842              LDR      r2,[r0,#4]
;;;148    {
;;;149        uart->IER |= u32InterruptFlag;
000092  430a              ORRS     r2,r2,r1
000094  6042              STR      r2,[r0,#4]
;;;150    
;;;151        if (uart == UART) 
000096  495e              LDR      r1,|L1.528|
000098  4288              CMP      r0,r1
00009a  d104              BNE      |L1.166|
00009c  2001              MOVS     r0,#1                 ;148
00009e  495b              LDR      r1,|L1.524|
0000a0  0300              LSLS     r0,r0,#12             ;148
0000a2  3980              SUBS     r1,r1,#0x80           ;148
0000a4  6008              STR      r0,[r1,#0]            ;148
                  |L1.166|
;;;152        {
;;;153            NVIC_EnableIRQ(UART_IRQn); 
;;;154        }
;;;155    
;;;156    }
0000a6  4770              BX       lr
;;;157    
                          ENDP

                  UART_Open PROC
;;;166     */
;;;167    void UART_Open(UART_T* uart, uint32_t u32baudrate)
0000a8  b57f              PUSH     {r0-r6,lr}
;;;168    {
0000aa  4604              MOV      r4,r0
;;;169        uint8_t u8UartClkSrcSel;
;;;170        uint32_t u32ClkTbl[4] = {__XTAL, 0, __IRC22M, __IRC22M};   
0000ac  4859              LDR      r0,|L1.532|
0000ae  460d              MOV      r5,r1                 ;168
0000b0  c80f              LDM      r0,{r0-r3}
0000b2  466e              MOV      r6,sp
0000b4  c60f              STM      r6!,{r0-r3}
;;;171        uint32_t u32Baud_Div;
;;;172        u8UartClkSrcSel = (CLK->CLKSEL1 & CLK_CLKSEL1_UART_S_Msk) >> CLK_CLKSEL1_UART_S_Pos;
0000b6  4858              LDR      r0,|L1.536|
0000b8  6940              LDR      r0,[r0,#0x14]
;;;173    
;;;174        uart->FUN_SEL = UART_FUNC_SEL_UART; 
;;;175        uart->LCR = UART_WORD_LEN_8 | UART_PARITY_NONE | UART_STOP_BIT_1;
;;;176        uart->FCR = UART_FCR_RFITL_1BYTE | UART_FCR_RTS_TRI_LEV_1BYTE;
;;;177    
;;;178        if(u32baudrate != 0)
;;;179        {
;;;180            u32Baud_Div = UART_BAUD_MODE2_DIVIDER(u32ClkTbl[u8UartClkSrcSel], u32baudrate);
;;;181    
;;;182            if(u32Baud_Div > 0xFFFF)
;;;183                uart->BAUD = (UART_BAUD_MODE0 | UART_BAUD_MODE0_DIVIDER(u32ClkTbl[u8UartClkSrcSel], u32baudrate));
;;;184            else
;;;185                uart->BAUD = (UART_BAUD_MODE2 | u32Baud_Div);
;;;186        }
;;;187    }
0000ba  2203              MOVS     r2,#3
0000bc  0180              LSLS     r0,r0,#6
0000be  0f80              LSRS     r0,r0,#30
0000c0  2100              MOVS     r1,#0                 ;174
0000c2  6321              STR      r1,[r4,#0x30]         ;174
0000c4  60e2              STR      r2,[r4,#0xc]          ;175
0000c6  60a1              STR      r1,[r4,#8]            ;176
0000c8  2d00              CMP      r5,#0                 ;178
0000ca  d017              BEQ      |L1.252|
0000cc  0081              LSLS     r1,r0,#2              ;180
0000ce  4668              MOV      r0,sp                 ;180
0000d0  5846              LDR      r6,[r0,r1]            ;180
0000d2  0868              LSRS     r0,r5,#1              ;180
0000d4  1830              ADDS     r0,r6,r0              ;180
0000d6  4629              MOV      r1,r5                 ;180
0000d8  f7fffffe          BL       __aeabi_uidivmod
0000dc  494f              LDR      r1,|L1.540|
0000de  1e80              SUBS     r0,r0,#2              ;182
0000e0  4288              CMP      r0,r1                 ;182
0000e2  d907              BLS      |L1.244|
0000e4  00e8              LSLS     r0,r5,#3              ;183
0000e6  1830              ADDS     r0,r6,r0              ;183
0000e8  4629              MOV      r1,r5                 ;183
0000ea  f7fffffe          BL       __aeabi_uidivmod
0000ee  0900              LSRS     r0,r0,#4              ;183
0000f0  1e80              SUBS     r0,r0,#2              ;183
0000f2  e002              B        |L1.250|
                  |L1.244|
0000f4  2103              MOVS     r1,#3                 ;185
0000f6  0709              LSLS     r1,r1,#28             ;185
0000f8  4308              ORRS     r0,r0,r1              ;185
                  |L1.250|
0000fa  6260              STR      r0,[r4,#0x24]         ;185
                  |L1.252|
0000fc  bd7f              POP      {r0-r6,pc}
;;;188    
                          ENDP

                  UART_ReadBytes PROC
;;;200     */
;;;201    int32_t UART_ReadBytes(UART_T* uart, uint8_t *pu8RxBuf, uint32_t u32ReadBytes)
0000fe  b570              PUSH     {r4-r6,lr}
;;;202    {
;;;203        uint32_t  u32Count, u32delayno;
;;;204    
;;;205        for(u32Count=0; u32Count < u32ReadBytes; u32Count++)
000100  2400              MOVS     r4,#0
;;;206        {
;;;207            u32delayno = 0;
;;;208    
;;;209            while(uart->FSR & UART_FSR_RX_EMPTY_Msk) /* Check RX empty => failed */    
;;;210            {
;;;211                u32delayno++;        
;;;212                if( u32delayno >= 0x40000000 )        
000102  2501              MOVS     r5,#1
000104  07ad              LSLS     r5,r5,#30
000106  e00c              B        |L1.290|
                  |L1.264|
000108  2300              MOVS     r3,#0                 ;207
00010a  e004              B        |L1.278|
                  |L1.268|
00010c  1c5b              ADDS     r3,r3,#1              ;209
00010e  42ab              CMP      r3,r5
000110  d301              BCC      |L1.278|
;;;213                    return FALSE;               
000112  2000              MOVS     r0,#0
;;;214            }
;;;215            pu8RxBuf[u32Count] = uart->RBR;    /* Get Data from UART RX  */
;;;216        }
;;;217    
;;;218        return TRUE;
;;;219    
;;;220    }
000114  bd70              POP      {r4-r6,pc}
                  |L1.278|
000116  6986              LDR      r6,[r0,#0x18]         ;209
000118  0476              LSLS     r6,r6,#17             ;209
00011a  d4f7              BMI      |L1.268|
00011c  6803              LDR      r3,[r0,#0]            ;215
00011e  550b              STRB     r3,[r1,r4]            ;215
000120  1c64              ADDS     r4,r4,#1              ;215
                  |L1.290|
000122  4294              CMP      r4,r2                 ;205
000124  d3f0              BCC      |L1.264|
000126  2001              MOVS     r0,#1                 ;218
000128  bd70              POP      {r4-r6,pc}
;;;221    
                          ENDP

                  UART_SetLine_Config PROC
;;;234     */
;;;235    void UART_SetLine_Config(UART_T* uart, uint32_t u32baudrate, uint32_t u32data_width, uint32_t u32parity, uint32_t  u32stop_bits)
00012a  b5ff              PUSH     {r0-r7,lr}
;;;236    {
;;;237        uint8_t u8UartClkSrcSel;
;;;238        uint32_t u32ClkTbl[4] = {__XTAL, 0, __IRC22M, __IRC22M}; 
00012c  4b39              LDR      r3,|L1.532|
00012e  4616              MOV      r6,r2                 ;236
000130  460c              MOV      r4,r1                 ;236
000132  4605              MOV      r5,r0                 ;236
000134  3310              ADDS     r3,r3,#0x10
000136  cb0f              LDM      r3,{r0-r3}
000138  b085              SUB      sp,sp,#0x14           ;236
00013a  466f              MOV      r7,sp
00013c  c70f              STM      r7!,{r0-r3}
;;;239        uint32_t u32Baud_Div = 0;
;;;240        u8UartClkSrcSel = (CLK->CLKSEL1 & CLK_CLKSEL1_UART_S_Msk) >> CLK_CLKSEL1_UART_S_Pos;
00013e  4836              LDR      r0,|L1.536|
000140  6940              LDR      r0,[r0,#0x14]
;;;241    
;;;242        if(u32baudrate != 0)
;;;243        {
;;;244            u32Baud_Div = UART_BAUD_MODE2_DIVIDER(u32ClkTbl[u8UartClkSrcSel], u32baudrate);
;;;245    
;;;246            if(u32Baud_Div > 0xFFFF)
;;;247                uart->BAUD = (UART_BAUD_MODE0 | UART_BAUD_MODE0_DIVIDER(u32ClkTbl[u8UartClkSrcSel], u32baudrate));
;;;248            else
;;;249                uart->BAUD = (UART_BAUD_MODE2 | u32Baud_Div);
;;;250        }
;;;251        
;;;252        uart->LCR = u32data_width | u32parity | u32stop_bits;
;;;253    }
000142  0180              LSLS     r0,r0,#6
000144  0f80              LSRS     r0,r0,#30
000146  2c00              CMP      r4,#0                 ;242
000148  d017              BEQ      |L1.378|
00014a  0081              LSLS     r1,r0,#2              ;244
00014c  4668              MOV      r0,sp                 ;244
00014e  5847              LDR      r7,[r0,r1]            ;244
000150  0860              LSRS     r0,r4,#1              ;244
000152  1838              ADDS     r0,r7,r0              ;244
000154  4621              MOV      r1,r4                 ;244
000156  f7fffffe          BL       __aeabi_uidivmod
00015a  4930              LDR      r1,|L1.540|
00015c  1e80              SUBS     r0,r0,#2              ;246
00015e  4288              CMP      r0,r1                 ;246
000160  d907              BLS      |L1.370|
000162  00e0              LSLS     r0,r4,#3              ;247
000164  1838              ADDS     r0,r7,r0              ;247
000166  4621              MOV      r1,r4                 ;247
000168  f7fffffe          BL       __aeabi_uidivmod
00016c  0900              LSRS     r0,r0,#4              ;247
00016e  1e80              SUBS     r0,r0,#2              ;247
000170  e002              B        |L1.376|
                  |L1.370|
000172  2103              MOVS     r1,#3                 ;249
000174  0709              LSLS     r1,r1,#28             ;249
000176  4308              ORRS     r0,r0,r1              ;249
                  |L1.376|
000178  6268              STR      r0,[r5,#0x24]         ;247
                  |L1.378|
00017a  9808              LDR      r0,[sp,#0x20]         ;252
00017c  4306              ORRS     r6,r6,r0              ;252
00017e  980e              LDR      r0,[sp,#0x38]         ;252
000180  4306              ORRS     r6,r6,r0              ;252
000182  60ee              STR      r6,[r5,#0xc]          ;252
000184  b009              ADD      sp,sp,#0x24
000186  bdf0              POP      {r4-r7,pc}
;;;254    
                          ENDP

                  UART_SetTimeoutCnt PROC
;;;263     */
;;;264    void UART_SetTimeoutCnt(UART_T* uart, uint32_t u32TOC)
000188  6a02              LDR      r2,[r0,#0x20]
;;;265    {
;;;266        uart->TOR = (uart->TOR & ~UART_TOR_TOIC_Msk)| (u32TOC);
00018a  0a12              LSRS     r2,r2,#8
00018c  0212              LSLS     r2,r2,#8
00018e  430a              ORRS     r2,r2,r1
000190  6202              STR      r2,[r0,#0x20]
;;;267        uart->IER |= UART_IER_TIME_OUT_EN_Msk;
000192  6841              LDR      r1,[r0,#4]
000194  2201              MOVS     r2,#1
000196  02d2              LSLS     r2,r2,#11
000198  4311              ORRS     r1,r1,r2
00019a  6041              STR      r1,[r0,#4]
;;;268    }
00019c  4770              BX       lr
;;;269    
                          ENDP

                  UART_SelectIrDAMode PROC
;;;279     */
;;;280    void UART_SelectIrDAMode(UART_T* uart, uint32_t u32Buadrate, uint32_t u32Direction)
00019e  210b              MOVS     r1,#0xb
;;;281    {
;;;282        uart->BAUD = UART_BAUD_MODE0 | UART_BAUD_MODE0_DIVIDER(12000000, 57600);
0001a0  6241              STR      r1,[r0,#0x24]
;;;283        
;;;284        uart->IRCR    &=  ~UART_IRCR_INV_TX_Msk;  
0001a2  6a81              LDR      r1,[r0,#0x28]
0001a4  2320              MOVS     r3,#0x20
0001a6  4399              BICS     r1,r1,r3
0001a8  6281              STR      r1,[r0,#0x28]
;;;285        uart->IRCR |=     UART_IRCR_INV_RX_Msk;
0001aa  6a81              LDR      r1,[r0,#0x28]
0001ac  2340              MOVS     r3,#0x40
0001ae  4319              ORRS     r1,r1,r3
0001b0  6281              STR      r1,[r0,#0x28]
;;;286        uart->IRCR    = u32Direction ? uart->IRCR | UART_IRCR_TX_SELECT_Msk : uart->IRCR &~ UART_IRCR_TX_SELECT_Msk;
0001b2  2302              MOVS     r3,#2
0001b4  6a81              LDR      r1,[r0,#0x28]
0001b6  2a00              CMP      r2,#0
0001b8  d001              BEQ      |L1.446|
0001ba  4319              ORRS     r1,r1,r3
0001bc  e000              B        |L1.448|
                  |L1.446|
0001be  4399              BICS     r1,r1,r3
                  |L1.448|
0001c0  6281              STR      r1,[r0,#0x28]
;;;287        uart->FUN_SEL = (0x2 << UART_FUN_SEL_FUN_SEL_Pos);    
0001c2  6303              STR      r3,[r0,#0x30]
;;;288    }
0001c4  4770              BX       lr
;;;289    
                          ENDP

                  UART_SelectRS485Mode PROC
;;;299     */
;;;300    void UART_SelectRS485Mode(UART_T* uart, uint32_t u32Mode, uint32_t u32Addr)
0001c6  2303              MOVS     r3,#3
;;;301    {
;;;302        uart->FUN_SEL = UART_FUNC_SEL_RS485;
0001c8  6303              STR      r3,[r0,#0x30]
;;;303        uart->ALT_CSR = 0;
0001ca  2300              MOVS     r3,#0
0001cc  62c3              STR      r3,[r0,#0x2c]
;;;304        uart->ALT_CSR |= u32Mode | (u32Addr << UART_ALT_CSR_ADDR_MATCH_Pos);
0001ce  6ac3              LDR      r3,[r0,#0x2c]
0001d0  0612              LSLS     r2,r2,#24
0001d2  430a              ORRS     r2,r2,r1
0001d4  4313              ORRS     r3,r3,r2
0001d6  62c3              STR      r3,[r0,#0x2c]
;;;305    }
0001d8  4770              BX       lr
;;;306    
                          ENDP

                  UART_WriteBytes PROC
;;;316     */
;;;317    uint32_t UART_WriteBytes(UART_T* uart,uint8_t *pu8TxBuf, uint32_t u32WriteBytes)
0001da  b570              PUSH     {r4-r6,lr}
;;;318    {
;;;319        uint32_t  u32Count, u32delayno;
;;;320    
;;;321        for(u32Count=0; u32Count != u32WriteBytes; u32Count++)
0001dc  2400              MOVS     r4,#0
;;;322        {
;;;323            u32delayno = 0;
;;;324            while((uart->FSR & UART_FSR_TE_FLAG_Msk) == 0)  /* Wait Tx empty and Time-out manner */
;;;325            {
;;;326                u32delayno++;
;;;327                if( u32delayno >= 0x40000000 )             
0001de  2501              MOVS     r5,#1
0001e0  07ad              LSLS     r5,r5,#30
0001e2  e00c              B        |L1.510|
                  |L1.484|
0001e4  2300              MOVS     r3,#0                 ;323
0001e6  e004              B        |L1.498|
                  |L1.488|
0001e8  1c5b              ADDS     r3,r3,#1              ;324
0001ea  42ab              CMP      r3,r5
0001ec  d301              BCC      |L1.498|
;;;328                    return FALSE;               
0001ee  2000              MOVS     r0,#0
;;;329            }
;;;330            uart->THR = pu8TxBuf[u32Count];    /* Send UART Data from buffer */
;;;331        }
;;;332        return TRUE;
;;;333    
;;;334    }
0001f0  bd70              POP      {r4-r6,pc}
                  |L1.498|
0001f2  6986              LDR      r6,[r0,#0x18]         ;324
0001f4  00f6              LSLS     r6,r6,#3              ;324
0001f6  d5f7              BPL      |L1.488|
0001f8  5d0b              LDRB     r3,[r1,r4]            ;330
0001fa  6003              STR      r3,[r0,#0]            ;330
0001fc  1c64              ADDS     r4,r4,#1              ;330
                  |L1.510|
0001fe  4294              CMP      r4,r2                 ;321
000200  d1f0              BNE      |L1.484|
000202  2001              MOVS     r0,#1                 ;332
000204  bd70              POP      {r4-r6,pc}
;;;335    
                          ENDP

000206  0000              DCW      0x0000
                  |L1.520|
                          DCD      0x01000001
                  |L1.524|
                          DCD      0xe000e180
                  |L1.528|
                          DCD      0x40050000
                  |L1.532|
                          DCD      ||.constdata||
                  |L1.536|
                          DCD      0x50000200
                  |L1.540|
                          DCD      0x0000ffff

                          AREA ||.constdata||, DATA, READONLY, ALIGN=2

                          DCD      0x00b71b00
                          DCD      0x00000000
                          DCD      0x01518000
                          DCD      0x01518000
                          DCD      0x00b71b00
                          DCD      0x00000000
                          DCD      0x01518000
                          DCD      0x01518000

;*** Start embedded assembler ***

#line 1 "StdDriver\\src\\uart.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___6_uart_c_f12f5b44____REV16|
#line 118 ".\\CMSIS\\core_cmInstr.h"
|__asm___6_uart_c_f12f5b44____REV16| PROC
#line 119

 rev16 r0, r0
 bx lr
	ENDP
	AREA ||.revsh_text||, CODE
	THUMB
	EXPORT |__asm___6_uart_c_f12f5b44____REVSH|
#line 132
|__asm___6_uart_c_f12f5b44____REVSH| PROC
#line 133

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
