﻿; 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 --cpu=Cortex-M0+ --apcs=interwork -I..\FWLib\SC32F1XXX_Lib\inc -I..\User\HeadFiles -I..\User -I..\Drivers -I..\Apps -I..\CMSIS -DSC32f12xx -D__UVISION_VERSION=536 ..\FWLib\SC32F1XXX_Lib\src\sc32f1xxx_led.c]
                          THUMB
                          AREA ||i.LED_COMConfig||, CODE, READONLY, ALIGN=2
                  LED_COMConfig PROC
;;;207     */
;;;208    void LED_COMConfig ( LED_COMEN_Typedef COMSelect, FunctionalState NewState )
000000  4b04              LDR      r3,|L1.20|
;;;209    {
;;;210        uint32_t temp;
;;;211        temp = LCD_LED->COM_EN;
000002  691a              LDR      r2,[r3,#0x10]
;;;212        if ( NewState != DISABLE )
000004  2900              CMP      r1,#0
000006  d001              BEQ      |L1.12|
;;;213        {
;;;214            temp |= COMSelect;
000008  4302              ORRS     r2,r2,r0
00000a  e000              B        |L1.14|
                  |L1.12|
;;;215        }
;;;216        else
;;;217        {
;;;218            temp &= ~COMSelect;
00000c  4382              BICS     r2,r2,r0
                  |L1.14|
;;;219        }
;;;220        LCD_LED->COM_EN = temp;
00000e  611a              STR      r2,[r3,#0x10]
;;;221    }
000010  4770              BX       lr
;;;222    
;;;125    void LED_Cmd ( FunctionalState NewState )
000000  4905              LDR      r1,|L2.24|
;;;126    {
;;;127        
;;;128        assert_param ( IS_FUNCTIONAL_STATE ( NewState ) );
;;;129    
;;;130        if ( NewState != DISABLE )
000002  2800              CMP      r0,#0
;;;131        {
;;;132            
;;;133            LCD_LED->DDR_CON |= DDR_CON_DDRON;
;;;134        }
;;;135        else
;;;136        {
;;;137            
;;;138            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              ;133
00000a  4310              ORRS     r0,r0,r2              ;133
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]            ;133
;;;139        }
;;;140    }
000014  4770              BX       lr
;;;141    
                          ENDP
000016  0000              DCW      0x0000
                  |L2.24|
                          DCD      0x40022280
                  |L2.28|
                          DCD      0x0000ff7f
                          AREA ||i.LED_CustomModeScan||, CODE, READONLY, ALIGN=2
                  LED_CustomModeScan PROC
;;;301     */
;;;302    void LED_CustomModeScan ( void )
000000  2001              MOVS     r0,#1
;;;303    {
;;;304        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]
;;;305    }
000008  4770              BX       lr
;;;306    
                          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         
;;;48         RCC_APB2PeriphResetCmd ( RCC_APB2Periph_LCD_LED, ENABLE );
000002  2101              MOVS     r1,#1
000004  2002              MOVS     r0,#2
000006  f7fffffe          BL       RCC_APB2PeriphResetCmd
;;;49         
;;;50         RCC_APB2PeriphResetCmd ( RCC_APB2Periph_LCD_LED, DISABLE );
00000a  2100              MOVS     r1,#0
00000c  2002              MOVS     r0,#2
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         
;;;64         assert_param ( IS_LED_FRAMEFRE ( LED_InitStruct->LED_FrameFre ) );
;;;65         assert_param ( IS_LED_DUTY ( LED_InitStruct->LED_Duty ) );
;;;66     
;;;67         
;;;68         
;;;69         tmpreg = LCD_LED->DDR_CON;
000002  490b              LDR      r1,|L5.48|
000004  680a              LDR      r2,[r1,#0]
;;;70     
;;;71         
;;;72         tmpreg &= ( uint32_t ) ~ ( DDR_CON_DMOD | DDR_CON_TYPE | DDR_CON_DDRCK | DDR_CON_TRIMODE );
000006  4b0b              LDR      r3,|L5.52|
;;;73     
;;;74         
;;;75         
;;;76         
;;;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         
;;;80         LCD_LED->DDR_CON = tmpreg;
000012  600b              STR      r3,[r1,#0]
;;;81     
;;;82         
;;;83         
;;;84         LCD_LED->DDR_CFG &= ( uint32_t ) ~ ( DDR_CFG_DUTY  | DDR_CFG_SCS );
000014  684a              LDR      r2,[r1,#4]
000016  23ff              MOVS     r3,#0xff
000018  33b1              ADDS     r3,r3,#0xb1
00001a  439a              BICS     r2,r2,r3
00001c  604a              STR      r2,[r1,#4]
;;;85     
;;;86         
;;;87         
;;;88         
;;;89         LCD_LED->DDR_CFG |= ( uint32_t ) LED_InitStruct->LED_Duty;
00001e  684a              LDR      r2,[r1,#4]
000020  8843              LDRH     r3,[r0,#2]
000022  431a              ORRS     r2,r2,r3
000024  604a              STR      r2,[r1,#4]
;;;90     
;;;91         
;;;92     #if defined(SC32f10xx) || defined(SC32f12xx)
;;;93         LCD_LED->SEG_EN = LED_InitStruct->LED_SegPin;
000026  6882              LDR      r2,[r0,#8]
000028  608a              STR      r2,[r1,#8]
;;;94     #elif defined(SC32f11xx)
;;;95         LCD_LED->SEG_EN0 = ( uint32_t ) LED_InitStruct->LED_SegPin;
;;;96         LCD_LED->SEG_EN1 = ( uint32_t ) ( LED_InitStruct->LED_SegPin >> 32 );
;;;97     #endif
;;;98     
;;;99     
;;;100        
;;;101        LCD_LED->COM_EN = LED_InitStruct->LED_ComPin;
00002a  6840              LDR      r0,[r0,#4]
00002c  6108              STR      r0,[r1,#0x10]
;;;102    }
00002e  bd10              POP      {r4,pc}
;;;103    
                          ENDP
                  |L5.48|
                          DCD      0x40022280
                  |L5.52|
                          DCD      0xffff7cee
                          AREA ||i.LED_SEGConfig||, CODE, READONLY, ALIGN=2
                  LED_SEGConfig PROC
;;;260     */
;;;261    void LED_SEGConfig ( uint64_t SEGSelect, FunctionalState NewState )
000000  4901              LDR      r1,|L6.8|
;;;262    {
;;;263    #if  defined(SC32f10xx) || defined(SC32f12xx)
;;;264        uint32_t temp;
;;;265        temp = LCD_LED->SEG_EN;
000002  688b              LDR      r3,[r1,#8]
;;;266        if ( NewState == ENABLE )
;;;267        {
;;;268            temp |= SEGSelect;
;;;269        }
;;;270        else
;;;271        {
;;;272            temp &= ~SEGSelect;
;;;273        }
;;;274        LCD_LED->SEG_EN = SEGSelect;
000004  6088              STR      r0,[r1,#8]
;;;275    #elif defined(SC32f11xx)
;;;276        uint32_t temp0;
;;;277        uint32_t temp1;
;;;278        temp0 = LCD_LED->SEG_EN0;
;;;279        temp1 = LCD_LED->SEG_EN1;
;;;280        if ( NewState == ENABLE )
;;;281        {
;;;282            temp0 |= SEGSelect;
;;;283            temp1 |= SEGSelect >> 32;
;;;284        }
;;;285        else
;;;286        {
;;;287            temp0 &= ~SEGSelect;
;;;288            temp1 &= ~ ( SEGSelect >> 32 );
;;;289        }
;;;290        LCD_LED->SEG_EN0 = ( uint32_t ) temp0;
;;;291        LCD_LED->SEG_EN1 = ( uint32_t ) temp1;
;;;292    #endif
;;;293    }
000006  4770              BX       lr
;;;294    
                          ENDP
                  |L6.8|
                          DCD      0x40022280
                          AREA ||i.LED_StructInit||, CODE, READONLY, ALIGN=1
                  LED_StructInit PROC
;;;108      */
;;;109    void LED_StructInit ( LED_InitTypeDef* LED_InitStruct )
000000  2100              MOVS     r1,#0
;;;110    {
;;;111        
;;;112        LED_InitStruct->LED_ComPin = LED_Channel_Less;
;;;113        LED_InitStruct->LED_Duty = LED_Duty_1_8;
000002  6041              STR      r1,[r0,#4]
000004  8041              STRH     r1,[r0,#2]
;;;114        LED_InitStruct->LED_FrameFre = LED_FrameFre_B64Hz;
000006  8001              STRH     r1,[r0,#0]
;;;115        LED_InitStruct->LED_SegPin =  LED_Channel_Less;
000008  6081              STR      r1,[r0,#8]
;;;116    }
00000a  4770              BX       lr
;;;117    
                          ENDP
                          AREA ||i.LED_Write||, CODE, READONLY, ALIGN=2
                  LED_Write PROC
;;;194     */
;;;195    void LED_Write ( LED_RAMRegister_Typedef LED_RAMRegister, uint8_t LED_Data )
000000  4a02              LDR      r2,|L8.12|
;;;196    {
;;;197        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]
;;;198    }
000008  4770              BX       lr
;;;199    /**
                          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 ***
