; generated by Component: ARM Compiler 5.06 update 7 (build 960) Tool: ArmCC [4d365d]
; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave -o..\output\sc32f1xxx_led.o --asm_dir=..\List\ --list_dir=..\List\ --depend=..\output\sc32f1xxx_led.d --cpu=Cortex-M0+ --apcs=interwork --diag_suppress=9931 -I..\FWLib\SC32F1XXX_Lib\inc -I..\User\HeadFiles -I..\User -I..\Drivers -I..\Apps -I..\CMSIS -IF:\Users\SOC\AppData\Local\Arm\Packs\ARM\CMSIS\5.8.0\Device\ARM\ARMCM0plus\Include -D__UVISION_VERSION=536 -DARMCM0P -DSC32f10xx --omf_browse=..\output\sc32f1xxx_led.crf ..\FWLib\SC32F1XXX_Lib\src\sc32f1xxx_led.c]
                          THUMB

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

                  LED_COMConfig PROC
;;;210     */
;;;211    void LED_COMConfig ( LED_COMEN_Typedef COMSelect, FunctionalState NewState )
000000  4b04              LDR      r3,|L1.20|
;;;212    {
;;;213        uint32_t temp;
;;;214        temp = LCD_LED->COM_EN;
000002  691a              LDR      r2,[r3,#0x10]
;;;215        if ( NewState != DISABLE )
000004  2900              CMP      r1,#0
000006  d001              BEQ      |L1.12|
;;;216        {
;;;217            temp |= COMSelect;
000008  4302              ORRS     r2,r2,r0
00000a  e000              B        |L1.14|
                  |L1.12|
;;;218        }
;;;219        else
;;;220        {
;;;221            temp &= ~COMSelect;
00000c  4382              BICS     r2,r2,r0
                  |L1.14|
;;;222        }
;;;223        LCD_LED->COM_EN = temp;
00000e  611a              STR      r2,[r3,#0x10]
;;;224    }
000010  4770              BX       lr
;;;225    /**
                          ENDP

000012  0000              DCW      0x0000
                  |L1.20|
                          DCD      0x40022280

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

                  LED_Cmd PROC
;;;121     */
;;;122    void LED_Cmd ( FunctionalState NewState )
000000  4905              LDR      r1,|L2.24|
;;;123    {
;;;124        /* Check the parameters */
;;;125        assert_param ( IS_FUNCTIONAL_STATE ( NewState ) );
;;;126    
;;;127        if ( NewState != DISABLE )
000002  2800              CMP      r0,#0
;;;128        {
;;;129            /* Enable the LCD_LED Counter */
;;;130            LCD_LED->DDR_CON |= DDR_CON_DDRON;
;;;131        }
;;;132        else
;;;133        {
;;;134            /* Disable the LCD_LED Counter */
;;;135            LCD_LED->DDR_CON &= ( uint16_t ) ~DDR_CON_DDRON;
000004  6808              LDR      r0,[r1,#0]
000006  d002              BEQ      |L2.14|
000008  2280              MOVS     r2,#0x80              ;130
00000a  4310              ORRS     r0,r0,r2              ;130
00000c  e001              B        |L2.18|
                  |L2.14|
00000e  4a03              LDR      r2,|L2.28|
000010  4010              ANDS     r0,r0,r2
                  |L2.18|
000012  6008              STR      r0,[r1,#0]            ;130
;;;136        }
;;;137    }
000014  4770              BX       lr
;;;138    
                          ENDP

000016  0000              DCW      0x0000
                  |L2.24|
                          DCD      0x40022280
                  |L2.28|
                          DCD      0x0000ff7f

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

                  LED_CustomModeScan PROC
;;;294     */
;;;295    void LED_CustomModeScan ( void )
000000  2001              MOVS     r0,#1
;;;296    {
;;;297        LCD_LED->DDR_CON = DDR_CON_TRICOM;
000002  4902              LDR      r1,|L3.12|
000004  0380              LSLS     r0,r0,#14
000006  6008              STR      r0,[r1,#0]
;;;298    }
000008  4770              BX       lr
;;;299    
                          ENDP

00000a  0000              DCW      0x0000
                  |L3.12|
                          DCD      0x40022280

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

                  LED_DeInit PROC
;;;44      */
;;;45     void LED_DeInit ( void )
000000  b510              PUSH     {r4,lr}
;;;46     {
;;;47         /* Enable LCD_LED reset state */
;;;48         RCC_APB2PeriphResetCmd ( RCC_APB2Periph_LCD_LED, ENABLE );
000002  2101              MOVS     r1,#1
000004  2003              MOVS     r0,#3
000006  f7fffffe          BL       RCC_APB2PeriphResetCmd
;;;49         /* Disable LCD_LED reset state */
;;;50         RCC_APB2PeriphResetCmd ( RCC_APB2Periph_LCD_LED, DISABLE );
00000a  2100              MOVS     r1,#0
00000c  2003              MOVS     r0,#3
00000e  f7fffffe          BL       RCC_APB2PeriphResetCmd
;;;51     }
000012  bd10              POP      {r4,pc}
;;;52     
                          ENDP


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

                  LED_Init PROC
;;;58      */
;;;59     void LED_Init ( LED_InitTypeDef* LED_InitStruct )
000000  b510              PUSH     {r4,lr}
;;;60     {
;;;61         uint32_t tmpreg;
;;;62     
;;;63         /* Check the parameters */
;;;64         assert_param ( IS_LED_FRAMEFRE ( LED_InitStruct->LED_FrameFre ) );
;;;65         assert_param ( IS_LED_DUTY ( LED_InitStruct->LED_Duty ) );
;;;66     
;;;67         /*---------------------------- LCD_LEDx DDR_CON Configuration ------------------------*/
;;;68         /* Get the LCD_LEDx DDR_CFG value */
;;;69         tmpreg = LCD_LED->DDR_CON;
000002  490b              LDR      r1,|L5.48|
000004  680a              LDR      r2,[r1,#0]
;;;70     
;;;71         /* Clear DMOD,TYPE,DDRCK and TRIMODE bits */
;;;72         tmpreg &= ( uint32_t ) ~ ( DDR_CON_DMOD | DDR_CON_TYPE | DDR_CON_DDRCK | DDR_CON_TRIMODE );
000006  4b0b              LDR      r3,|L5.52|
;;;73     
;;;74         /* Configure LCD_LEDx: */
;;;75         /* Set DMOD bit to LED_MOD value */
;;;76         /* Set DDRCK,TRIMODE and TRIMODE bit to LED_FrameFre value */
;;;77         tmpreg |= ( uint32_t ) ( DDR_CON_DMOD |
000008  2401              MOVS     r4,#1
00000a  401a              ANDS     r2,r2,r3              ;72
00000c  8803              LDRH     r3,[r0,#0]
00000e  4322              ORRS     r2,r2,r4
000010  4313              ORRS     r3,r3,r2
;;;78                                  LED_InitStruct->LED_FrameFre );
;;;79         /* Write to LCD_LEDx DDR_CON */
;;;80         LCD_LED->DDR_CON = tmpreg;
000012  600b              STR      r3,[r1,#0]
;;;81     
;;;82         /*---------------------------- LCD_LEDx DDR_CFG Configuration ------------------------*/
;;;83         /* Clear DUTY and BIAS bits */
;;;84         LCD_LED->DDR_CFG &= ( uint32_t ) ~ ( DDR_CFG_DUTY  | DDR_CFG_SCS );
000014  684a              LDR      r2,[r1,#4]
000016  23b0              MOVS     r3,#0xb0
000018  439a              BICS     r2,r2,r3
00001a  604a              STR      r2,[r1,#4]
;;;85     
;;;86         /* Configure LCD_LEDx: */
;;;87         /* Set DUTY bits to LED_MOD value */
;;;88         /* Set SCS bit to LED_TPYE value */
;;;89         LCD_LED->DDR_CFG |= ( uint32_t ) LED_InitStruct->LED_Duty;
00001c  684a              LDR      r2,[r1,#4]
00001e  8843              LDRH     r3,[r0,#2]
000020  431a              ORRS     r2,r2,r3
000022  604a              STR      r2,[r1,#4]
;;;90     
;;;91         /* Write to LCD_LEDx SEG_EN */
;;;92     #if defined(SC32f10xx) || defined(SC32f12xx)
;;;93         LCD_LED->SEG_EN = LED_InitStruct->LED_SegPin;
000024  6882              LDR      r2,[r0,#8]
000026  608a              STR      r2,[r1,#8]
;;;94     #endif
;;;95     
;;;96     
;;;97         /* Write to LCD_LEDx COM_EN */
;;;98         LCD_LED->COM_EN = LED_InitStruct->LED_ComPin;
000028  6840              LDR      r0,[r0,#4]
00002a  6108              STR      r0,[r1,#0x10]
;;;99     }
00002c  bd10              POP      {r4,pc}
;;;100    
                          ENDP

00002e  0000              DCW      0x0000
                  |L5.48|
                          DCD      0x40022280
                  |L5.52|
                          DCD      0xffff7cee

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

                  LED_SEGConfig PROC
;;;269     */
;;;270    void LED_SEGConfig ( uint64_t SEGSelect, FunctionalState NewState )
000000  4901              LDR      r1,|L6.8|
;;;271    {
;;;272    #if  defined(SC32f10xx) || defined(SC32f12xx)
;;;273        uint32_t temp;
;;;274        temp = LCD_LED->SEG_EN;
000002  688b              LDR      r3,[r1,#8]
;;;275        if ( NewState == ENABLE )
;;;276        {
;;;277            temp |= SEGSelect;
;;;278        }
;;;279        else
;;;280        {
;;;281            temp &= ~SEGSelect;
;;;282        }
;;;283        LCD_LED->SEG_EN = SEGSelect;
000004  6088              STR      r0,[r1,#8]
;;;284    
;;;285    #endif
;;;286    }
000006  4770              BX       lr
;;;287    
                          ENDP

                  |L6.8|
                          DCD      0x40022280

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

                  LED_StructInit PROC
;;;105      */
;;;106    void LED_StructInit ( LED_InitTypeDef* LED_InitStruct )
000000  2100              MOVS     r1,#0
;;;107    {
;;;108        /* Set the default configuration */
;;;109        LED_InitStruct->LED_ComPin = LED_Channel_Less;
;;;110        LED_InitStruct->LED_Duty = LED_Duty_1_8;
000002  6041              STR      r1,[r0,#4]
000004  8041              STRH     r1,[r0,#2]
;;;111        LED_InitStruct->LED_FrameFre = LED_FrameFre_B64Hz;
000006  8001              STRH     r1,[r0,#0]
;;;112        LED_InitStruct->LED_SegPin =  LED_Channel_Less;
000008  6081              STR      r1,[r0,#8]
;;;113    }
00000a  4770              BX       lr
;;;114    
                          ENDP


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

                  LED_Write PROC
;;;197     */
;;;198    void LED_Write ( LED_RAMRegister_Typedef LED_RAMRegister, uint8_t LED_Data )
000000  4a02              LDR      r2,|L8.12|
;;;199    {
;;;200        LCD_LED->SEGRn[LED_RAMRegister] = LED_Data;
000002  0080              LSLS     r0,r0,#2
000004  1880              ADDS     r0,r0,r2
000006  6301              STR      r1,[r0,#0x30]
;;;201    }
000008  4770              BX       lr
;;;202    /**
                          ENDP

00000a  0000              DCW      0x0000
                  |L8.12|
                          DCD      0x40022300

;*** Start embedded assembler ***

#line 1 "..\\FWLib\\SC32F1XXX_Lib\\src\\sc32f1xxx_led.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___15_sc32f1xxx_led_c_095ab848____REV16|
#line 463 "..\\CMSIS\\cmsis_armcc.h"
|__asm___15_sc32f1xxx_led_c_095ab848____REV16| PROC
#line 464

 rev16 r0, r0
 bx lr
	ENDP
	AREA ||.revsh_text||, CODE
	THUMB
	EXPORT |__asm___15_sc32f1xxx_led_c_095ab848____REVSH|
#line 478
|__asm___15_sc32f1xxx_led_c_095ab848____REVSH| PROC
#line 479

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
