; generated by Component: ARM Compiler 5.05 (build 41) Tool: ArmCC [4d0eb9]
; commandline ArmCC [--list --debug -c --asm --interleave -o.\obj\system_mini51series.o --asm_dir=.\lst\ --list_dir=.\lst\ --depend=.\obj\system_mini51series.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\system_mini51series.crf CMSIS\system_Mini51Series.c]
                          THUMB

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

                  SystemCoreClockUpdate PROC
;;;29     
;;;30     void SystemCoreClockUpdate (void)            
000000  b510              PUSH     {r4,lr}
;;;31     {
;;;32         uint32_t u32CoreFreq, u32ClkSrc;
;;;33      
;;;34         u32ClkSrc = CLK->CLKSEL0 & CLK_CLKSEL0_HCLK_S_Msk;
000002  4a0d              LDR      r2,|L1.56|
000004  6910              LDR      r0,[r2,#0x10]
000006  0741              LSLS     r1,r0,#29
000008  0f49              LSRS     r1,r1,#29
00000a  d011              BEQ      |L1.48|
;;;35             
;;;36         if (u32ClkSrc == 0)
;;;37             u32CoreFreq = __XTAL;       /* External crystal clock */
;;;38         else if (u32ClkSrc == 3)
00000c  2903              CMP      r1,#3
00000e  d011              BEQ      |L1.52|
;;;39             u32CoreFreq = __IRC10K;	    /* Interanl 10K crystyl clock */
;;;40         else if (u32ClkSrc ==  7)
;;;41             u32CoreFreq = __IRC22M;	    /* Internal 22M */
000010  480a              LDR      r0,|L1.60|
                  |L1.18|
;;;42         else
;;;43             u32CoreFreq = __IRC22M;	    /* unknown value, use default Internal 22M */
;;;44     
;;;45         SystemCoreClock = (u32CoreFreq/((CLK->CLKDIV & CLK_CLKDIV_HCLK_N_Msk) + 1));
000012  6991              LDR      r1,[r2,#0x18]
000014  0709              LSLS     r1,r1,#28
000016  0f09              LSRS     r1,r1,#28
000018  1c49              ADDS     r1,r1,#1
00001a  f7fffffe          BL       __aeabi_uidivmod
00001e  4c08              LDR      r4,|L1.64|
;;;46         CyclesPerUs = (SystemCoreClock + 500000) / 1000000;
000020  4908              LDR      r1,|L1.68|
000022  6020              STR      r0,[r4,#0]  ; SystemCoreClock
000024  104a              ASRS     r2,r1,#1
000026  1880              ADDS     r0,r0,r2
000028  f7fffffe          BL       __aeabi_uidivmod
00002c  6060              STR      r0,[r4,#4]  ; CyclesPerUs
;;;47     }
00002e  bd10              POP      {r4,pc}
                  |L1.48|
000030  4805              LDR      r0,|L1.72|
000032  e7ee              B        |L1.18|
                  |L1.52|
000034  4805              LDR      r0,|L1.76|
000036  e7ec              B        |L1.18|
;;;48     
                          ENDP

                  |L1.56|
                          DCD      0x50000200
                  |L1.60|
                          DCD      0x01518000
                  |L1.64|
                          DCD      ||.data||
                  |L1.68|
                          DCD      0x000f4240
                  |L1.72|
                          DCD      0x00b71b00
                  |L1.76|
                          DCD      0x00002710

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

                  SystemCoreClock
                          DCD      0x01518000
                  CyclesPerUs
                          DCD      0x00000016

;*** Start embedded assembler ***

#line 1 "CMSIS\\system_Mini51Series.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___21_system_Mini51Series_c_5d646a67____REV16|
#line 118 ".\\CMSIS\\core_cmInstr.h"
|__asm___21_system_Mini51Series_c_5d646a67____REV16| PROC
#line 119

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

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
