; 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\gpio_leddisplay.o --asm_dir=..\List\ --list_dir=..\List\ --depend=..\output\gpio_leddisplay.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 -D__UVISION_VERSION=536 -DSC32f12xx --omf_browse=..\output\gpio_leddisplay.crf ..\Apps\GPIO_LEDDISPLAY.c]
                          THUMB

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

                  Led_Display PROC
;;;32       */
;;;33     void Led_Display(unsigned int Com1,unsigned int Com2,unsigned int Com3,unsigned int Com4,unsigned int Dot)
000000  b570              PUSH     {r4-r6,lr}
;;;34     {
;;;35       LedDataTab[0] = LedCodeTab[Com1];
000002  0085              LSLS     r5,r0,#2
000004  480e              LDR      r0,|L1.64|
000006  9c04              LDR      r4,[sp,#0x10]
000008  5946              LDR      r6,[r0,r5]
00000a  4d0e              LDR      r5,|L1.68|
;;;36       LedDataTab[1] = LedCodeTab[Com2];
00000c  0089              LSLS     r1,r1,#2
00000e  602e              STR      r6,[r5,#0]  ; LedDataTab
000010  5841              LDR      r1,[r0,r1]
;;;37       LedDataTab[2] = LedCodeTab[Com3];
000012  6069              STR      r1,[r5,#4]  ; LedDataTab
000014  0091              LSLS     r1,r2,#2
000016  5841              LDR      r1,[r0,r1]
;;;38       LedDataTab[3] = LedCodeTab[Com4];
000018  60a9              STR      r1,[r5,#8]  ; LedDataTab
00001a  0099              LSLS     r1,r3,#2
00001c  5840              LDR      r0,[r0,r1]
;;;39       LedDotTab[0] = (Dot&0x01);
00001e  60e8              STR      r0,[r5,#0xc]  ; LedDataTab
000020  07e1              LSLS     r1,r4,#31
000022  4628              MOV      r0,r5
000024  0fc9              LSRS     r1,r1,#31
000026  3010              ADDS     r0,r0,#0x10
;;;40       LedDotTab[1] = (Dot&0x02)>>1;
000028  6001              STR      r1,[r0,#0]  ; LedDotTab
00002a  07a1              LSLS     r1,r4,#30
00002c  0fc9              LSRS     r1,r1,#31
;;;41       LedDotTab[2] = (Dot&0x04)>>2;
00002e  6041              STR      r1,[r0,#4]  ; LedDotTab
000030  0761              LSLS     r1,r4,#29
000032  0fc9              LSRS     r1,r1,#31
;;;42       LedDotTab[3] = (Dot&0x08)>>3;
000034  6081              STR      r1,[r0,#8]  ; LedDotTab
000036  0721              LSLS     r1,r4,#28
000038  0fc9              LSRS     r1,r1,#31
00003a  60c1              STR      r1,[r0,#0xc]  ; LedDotTab
;;;43     }
00003c  bd70              POP      {r4-r6,pc}
;;;44     
                          ENDP

00003e  0000              DCW      0x0000
                  |L1.64|
                          DCD      ||.constdata||+0x10
                  |L1.68|
                          DCD      ||.bss||

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

                  Led_Init PROC
;;;49       */
;;;50     void Led_Init()
000000  b570              PUSH     {r4-r6,lr}
;;;51     {
;;;52       unsigned int i=0;
;;;53       for(i=0;i<4;i++)
;;;54       {
;;;55         GPIO_SetBits(GPIOA,LED_COM_List[i]);
000002  4d06              LDR      r5,|L2.28|
000004  4e06              LDR      r6,|L2.32|
000006  2400              MOVS     r4,#0                 ;52
                  |L2.8|
000008  00a0              LSLS     r0,r4,#2
00000a  5a28              LDRH     r0,[r5,r0]
00000c  b281              UXTH     r1,r0
00000e  4630              MOV      r0,r6
000010  f7fffffe          BL       GPIO_SetBits
000014  1c64              ADDS     r4,r4,#1
000016  2c04              CMP      r4,#4                 ;53
000018  d3f6              BCC      |L2.8|
;;;56       }
;;;57     }
00001a  bd70              POP      {r4-r6,pc}
;;;58     
                          ENDP

                  |L2.28|
                          DCD      ||.constdata||
                  |L2.32|
                          DCD      0x40011000

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

                  Led_Scan PROC
;;;64       */
;;;65     void Led_Scan()
000000  b5f8              PUSH     {r3-r7,lr}
;;;66     {
;;;67       static unsigned int i=0;
;;;68       GPIO_SetBits(GPIOA,0xffff);  /*First, turn off all COM port echo*/
000002  493f              LDR      r1,|L3.256|
000004  483f              LDR      r0,|L3.260|
000006  f7fffffe          BL       GPIO_SetBits
;;;69        
;;;70       if(LedDataTab[i]&(0x01))GPIO_SetBits(LED_NT_SEGA,LED_NT_SEGA_INT);
00000a  4c3f              LDR      r4,|L3.264|
00000c  4d3f              LDR      r5,|L3.268|
00000e  6820              LDR      r0,[r4,#0]  ; i
000010  4f3f              LDR      r7,|L3.272|
000012  0080              LSLS     r0,r0,#2
000014  5c28              LDRB     r0,[r5,r0]
;;;71     	else GPIO_ResetBits(LED_NT_SEGA,LED_NT_SEGA_INT);
000016  4639              MOV      r1,r7
000018  07c0              LSLS     r0,r0,#31             ;70
00001a  483a              LDR      r0,|L3.260|
00001c  d002              BEQ      |L3.36|
00001e  f7fffffe          BL       GPIO_SetBits
000022  e001              B        |L3.40|
                  |L3.36|
000024  f7fffffe          BL       GPIO_ResetBits
                  |L3.40|
;;;72       if(LedDataTab[i]&(0x02))GPIO_SetBits(LED_NT_SEGB,LED_NT_SEGB_INT);
000028  6820              LDR      r0,[r4,#0]  ; i
00002a  4e3b              LDR      r6,|L3.280|
00002c  0080              LSLS     r0,r0,#2
00002e  5c28              LDRB     r0,[r5,r0]
000030  4938              LDR      r1,|L3.276|
000032  0780              LSLS     r0,r0,#30
;;;73     	else GPIO_ResetBits(LED_NT_SEGB,LED_NT_SEGB_INT);
000034  4630              MOV      r0,r6
000036  d502              BPL      |L3.62|
000038  f7fffffe          BL       GPIO_SetBits
00003c  e001              B        |L3.66|
                  |L3.62|
00003e  f7fffffe          BL       GPIO_ResetBits
                  |L3.66|
;;;74       if(LedDataTab[i]&(0x04))GPIO_SetBits(LED_NT_SEGC,LED_NT_SEGC_INT);
000042  6820              LDR      r0,[r4,#0]  ; i
000044  4935              LDR      r1,|L3.284|
000046  0080              LSLS     r0,r0,#2
000048  5c28              LDRB     r0,[r5,r0]
00004a  0740              LSLS     r0,r0,#29
;;;75     	else GPIO_ResetBits(LED_NT_SEGC,LED_NT_SEGC_INT);
00004c  4630              MOV      r0,r6
00004e  d502              BPL      |L3.86|
000050  f7fffffe          BL       GPIO_SetBits
000054  e001              B        |L3.90|
                  |L3.86|
000056  f7fffffe          BL       GPIO_ResetBits
                  |L3.90|
;;;76       if(LedDataTab[i]&(0x08))GPIO_SetBits(LED_NT_SEGD,LED_NT_SEGD_INT);
00005a  6820              LDR      r0,[r4,#0]  ; i
;;;77     	else GPIO_ResetBits(LED_NT_SEGD,LED_NT_SEGD_INT);
00005c  4639              MOV      r1,r7
00005e  0080              LSLS     r0,r0,#2              ;76
000060  5c28              LDRB     r0,[r5,r0]            ;76
000062  0700              LSLS     r0,r0,#28             ;76
000064  4630              MOV      r0,r6
000066  d502              BPL      |L3.110|
000068  f7fffffe          BL       GPIO_SetBits
00006c  e001              B        |L3.114|
                  |L3.110|
00006e  f7fffffe          BL       GPIO_ResetBits
                  |L3.114|
;;;78       if(LedDataTab[i]&(0x10))GPIO_SetBits(LED_NT_SEGE,LED_NT_SEGE_INT);
000072  6820              LDR      r0,[r4,#0]  ; i
000074  4a2a              LDR      r2,|L3.288|
000076  0080              LSLS     r0,r0,#2
000078  5c28              LDRB     r0,[r5,r0]
00007a  06c0              LSLS     r0,r0,#27
00007c  d504              BPL      |L3.136|
00007e  2102              MOVS     r1,#2
000080  4610              MOV      r0,r2
000082  f7fffffe          BL       GPIO_SetBits
000086  e003              B        |L3.144|
                  |L3.136|
;;;79     	else GPIO_ResetBits(LED_NT_SEGE,LED_NT_SEGE_INT);
000088  2102              MOVS     r1,#2
00008a  4610              MOV      r0,r2
00008c  f7fffffe          BL       GPIO_ResetBits
                  |L3.144|
;;;80       if(LedDataTab[i]&(0x20))GPIO_SetBits(LED_NT_SEGF,LED_NT_SEGF_INT);
000090  6820              LDR      r0,[r4,#0]  ; i
000092  0080              LSLS     r0,r0,#2
000094  5c28              LDRB     r0,[r5,r0]
000096  0680              LSLS     r0,r0,#26
000098  d504              BPL      |L3.164|
00009a  2101              MOVS     r1,#1
00009c  4630              MOV      r0,r6
00009e  f7fffffe          BL       GPIO_SetBits
0000a2  e003              B        |L3.172|
                  |L3.164|
;;;81     	else GPIO_ResetBits(LED_NT_SEGF,LED_NT_SEGF_INT);
0000a4  2101              MOVS     r1,#1
0000a6  4630              MOV      r0,r6
0000a8  f7fffffe          BL       GPIO_ResetBits
                  |L3.172|
;;;82       if(LedDataTab[i]&(0x40))GPIO_SetBits(LED_NT_SEGG,LED_NT_SEGG_INT);
0000ac  6820              LDR      r0,[r4,#0]  ; i
0000ae  491d              LDR      r1,|L3.292|
0000b0  0080              LSLS     r0,r0,#2
0000b2  5c28              LDRB     r0,[r5,r0]
0000b4  0640              LSLS     r0,r0,#25
;;;83     	else GPIO_ResetBits(LED_NT_SEGG,LED_NT_SEGG_INT);
0000b6  4630              MOV      r0,r6
0000b8  d502              BPL      |L3.192|
0000ba  f7fffffe          BL       GPIO_SetBits
0000be  e001              B        |L3.196|
                  |L3.192|
0000c0  f7fffffe          BL       GPIO_ResetBits
                  |L3.196|
;;;84       if(LedDotTab[i]&(0x01))GPIO_SetBits(LED_NT_SEGDP,LED_NT_SEGDP_INT);
0000c4  6820              LDR      r0,[r4,#0]  ; i
0000c6  4911              LDR      r1,|L3.268|
0000c8  0080              LSLS     r0,r0,#2
0000ca  3110              ADDS     r1,r1,#0x10
0000cc  5c08              LDRB     r0,[r1,r0]
0000ce  4916              LDR      r1,|L3.296|
0000d0  07c0              LSLS     r0,r0,#31
;;;85     	else GPIO_ResetBits(LED_NT_SEGDP,LED_NT_SEGDP_INT);
0000d2  4630              MOV      r0,r6
0000d4  d002              BEQ      |L3.220|
0000d6  f7fffffe          BL       GPIO_SetBits
0000da  e001              B        |L3.224|
                  |L3.220|
0000dc  f7fffffe          BL       GPIO_ResetBits
                  |L3.224|
;;;86       
;;;87       GPIO_ResetBits (GPIOA, LED_COM_List[i]); /*Open the COM port*/
0000e0  6820              LDR      r0,[r4,#0]  ; i
0000e2  4912              LDR      r1,|L3.300|
0000e4  0080              LSLS     r0,r0,#2
0000e6  5a08              LDRH     r0,[r1,r0]
0000e8  b281              UXTH     r1,r0
0000ea  4806              LDR      r0,|L3.260|
0000ec  f7fffffe          BL       GPIO_ResetBits
;;;88       
;;;89       i++;
0000f0  6820              LDR      r0,[r4,#0]  ; i
0000f2  1c40              ADDS     r0,r0,#1
;;;90       if(i>=4) i=0;
0000f4  6020              STR      r0,[r4,#0]  ; i
0000f6  2804              CMP      r0,#4
0000f8  d301              BCC      |L3.254|
0000fa  2000              MOVS     r0,#0
0000fc  6020              STR      r0,[r4,#0]  ; i
                  |L3.254|
;;;91     }
0000fe  bdf8              POP      {r3-r7,pc}
;;;92     
                          ENDP

                  |L3.256|
                          DCD      0x0000ffff
                  |L3.260|
                          DCD      0x40011000
                  |L3.264|
                          DCD      ||area_number.13||
                  |L3.268|
                          DCD      ||.bss||
                  |L3.272|
                          DCD      0x00004000
                  |L3.276|
                          DCD      0x00000400
                  |L3.280|
                          DCD      0x40011100
                  |L3.284|
                          DCD      0x00001000
                  |L3.288|
                          DCD      0x40011200
                  |L3.292|
                          DCD      0x00000800
                  |L3.296|
                          DCD      0x00002000
                  |L3.300|
                          DCD      ||.constdata||

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

                  LedDataTab
                          %        16
                  LedDotTab
                          %        16

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

                  LED_COM_List
                          DCD      0x00002000
                          DCD      0x00001000
                          DCD      0x00000800
                          DCD      0x00000400
                  LedCodeTab
                          DCD      0x0000003f
                          DCD      0x00000006
                          DCD      0x0000005b
                          DCD      0x0000004f
                          DCD      0x00000066
                          DCD      0x0000006d
                          DCD      0x0000007d
                          DCD      0x00000007
                          DCD      0x0000007f
                          DCD      0x0000006f

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

                  ||Fen||
                          DCD      0x00000000

                          AREA ||area_number.9||, DATA, ALIGN=2

                          EXPORTAS ||area_number.9||, ||.data||
                  Miao
                          DCD      0x00000000

                          AREA ||area_number.10||, DATA, ALIGN=2

                          EXPORTAS ||area_number.10||, ||.data||
                  ||Shi||
                          DCD      0x00000000

                          AREA ||area_number.11||, DATA, ALIGN=0

                          EXPORTAS ||area_number.11||, ||.data||
                  T0Flag1s
000000  00                DCB      0x00

                          AREA ||area_number.12||, DATA, ALIGN=2

                          EXPORTAS ||area_number.12||, ||.data||
                  T0Flag1sCount
                          DCD      0x00000000

                          AREA ||area_number.13||, DATA, ALIGN=2

                          EXPORTAS ||area_number.13||, ||.data||
                  i
                          DCD      0x00000000

;*** Start embedded assembler ***

#line 1 "..\\Apps\\GPIO_LEDDISPLAY.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___17_GPIO_LEDDISPLAY_c_Fen____REV16|
#line 463 "..\\CMSIS\\cmsis_armcc.h"
|__asm___17_GPIO_LEDDISPLAY_c_Fen____REV16| PROC
#line 464

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

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
