; 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\systick_example.o --asm_dir=..\List\ --list_dir=..\List\ --depend=..\output\systick_example.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\systick_example.crf ..\Apps\SYSTICK_Example.c]
                          THUMB

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

                  Delay PROC
;;;46     
;;;47     void Delay(uint32_t nTime)
000000  4904              LDR      r1,|L1.20|
;;;48     { 
;;;49       TimingDelay = nTime;
000002  6008              STR      r0,[r1,#0]  ; TimingDelay
;;;50       PA_OT(10);   //PA10翻转
000004  4a04              LDR      r2,|L1.24|
000006  2001              MOVS     r0,#1
000008  7690              STRB     r0,[r2,#0x1a]
                  |L1.10|
;;;51       while(TimingDelay != 0);
00000a  6808              LDR      r0,[r1,#0]  ; TimingDelay
00000c  2800              CMP      r0,#0
00000e  d1fc              BNE      |L1.10|
;;;52     }
000010  4770              BX       lr
;;;53     
                          ENDP

000012  0000              DCW      0x0000
                  |L1.20|
                          DCD      ||.data||
                  |L1.24|
                          DCD      0x40011000

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

                  SYSTICK_Example_Function PROC
;;;15     
;;;16     void SYSTICK_Example_Function(void)
000000  b51c              PUSH     {r2-r4,lr}
;;;17     {
;;;18       GPIO_InitTypeDef GPIO_InitStruct; //定义GPIO初始化结构体变量
;;;19       GPIO_InitStruct.GPIO_Pin = GPIO_Pin_10;
000002  2001              MOVS     r0,#1
000004  0280              LSLS     r0,r0,#10
000006  4669              MOV      r1,sp
000008  8008              STRH     r0,[r1,#0]
;;;20       GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT_PP;
00000a  2002              MOVS     r0,#2
00000c  8048              STRH     r0,[r1,#2]
;;;21       GPIO_Init(GPIOA, &GPIO_InitStruct);
00000e  4810              LDR      r0,|L2.80|
000010  f7fffffe          BL       GPIO_Init
;;;22       
;;;23       RCC_Unlock(0xFF);
000014  20ff              MOVS     r0,#0xff
000016  f7fffffe          BL       RCC_Unlock
;;;24       RCC_SYSCLKConfig(RCC_SYSCLKSource_HIRC); //滴答定时器时钟源为PLLR
00001a  480e              LDR      r0,|L2.84|
00001c  f7fffffe          BL       RCC_SYSCLKConfig
;;;25       RCC_SystickCLKConfig(RCC_SysTickSource_HCLK);//HCLK=32/36M
000020  2001              MOVS     r0,#1
000022  f7fffffe          BL       RCC_SystickCLKConfig
;;;26     #if defined(SC32f10xx)|| defined(SC32f12xx)
;;;27       RCC_SystickSetCounter(32000); //1ms中断一次
000026  207d              MOVS     r0,#0x7d
000028  0200              LSLS     r0,r0,#8
00002a  f7fffffe          BL       RCC_SystickSetCounter
;;;28     
;;;29     #endif
;;;30       
;;;31       NVIC_EnableIRQ(SysTick_IRQn);
;;;32       RCC_SystickCmd(ENABLE);	
00002e  2001              MOVS     r0,#1
000030  f7fffffe          BL       RCC_SystickCmd
;;;33       
;;;34       printf("\r\n SysTickTimer is initialized successfully! \r\n");
000034  a008              ADR      r0,|L2.88|
                  |L2.54|
000036  f7fffffe          BL       __2printf
;;;35       
;;;36       while(1)
;;;37       {
;;;38         Delay(50);/* Insert 50 ms delay */
00003a  2032              MOVS     r0,#0x32
00003c  f7fffffe          BL       Delay
;;;39         printf("\r\n 50ms delay \r\n");
000040  a011              ADR      r0,|L2.136|
000042  f7fffffe          BL       __2printf
;;;40         
;;;41         Delay(100);/* Insert 100 ms delay */
000046  2064              MOVS     r0,#0x64
000048  f7fffffe          BL       Delay
;;;42         printf("\r\n 100ms delay \r\n");
00004c  a013              ADR      r0,|L2.156|
00004e  e7f2              B        |L2.54|
;;;43         
;;;44       }
;;;45     }
;;;46     
                          ENDP

                  |L2.80|
                          DCD      0x40011000
                  |L2.84|
                          DCD      0x0000ff7f
                  |L2.88|
000058  0d0a2053          DCB      "\r\n SysTickTimer is initialized successfully! \r\n",0
00005c  79735469
000060  636b5469
000064  6d657220
000068  69732069
00006c  6e697469
000070  616c697a
000074  65642073
000078  75636365
00007c  73736675
000080  6c6c7921
000084  200d0a00
                  |L2.136|
000088  0d0a2035          DCB      "\r\n 50ms delay \r\n",0
00008c  306d7320
000090  64656c61
000094  79200d0a
000098  00      
000099  00                DCB      0
00009a  00                DCB      0
00009b  00                DCB      0
                  |L2.156|
00009c  0d0a2031          DCB      "\r\n 100ms delay \r\n",0
0000a0  30306d73
0000a4  2064656c
0000a8  6179200d
0000ac  0a00    
0000ae  00                DCB      0
0000af  00                DCB      0

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

                  SYSTICK_Example_SYSTICKHandler PROC
;;;53     
;;;54     void SYSTICK_Example_SYSTICKHandler(void)
000000  4803              LDR      r0,|L3.16|
;;;55     {
;;;56       if (TimingDelay != 0)
000002  6801              LDR      r1,[r0,#0]  ; TimingDelay
000004  2900              CMP      r1,#0
000006  d002              BEQ      |L3.14|
;;;57       { 
;;;58         TimingDelay--;
000008  6801              LDR      r1,[r0,#0]  ; TimingDelay
00000a  1e49              SUBS     r1,r1,#1
00000c  6001              STR      r1,[r0,#0]  ; TimingDelay
                  |L3.14|
;;;59       }
;;;60     }
00000e  4770              BX       lr
;;;61     
                          ENDP

                  |L3.16|
                          DCD      ||.data||

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

                  TimingDelay
                          DCD      0x00000000

;*** Start embedded assembler ***

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

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

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
