; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637]
; commandline ArmCC [--list --split_sections --debug -c --asm --interleave -o.\obj\system_m0a21.o --asm_dir=.\lst\ --list_dir=.\lst\ --depend=.\obj\system_m0a21.d --cpu=Cortex-M0 --apcs=interwork -Otime --diag_suppress=9931 -I..\..\..\..\Library\CMSIS\Include -I..\..\..\..\Library\Device\Nuvoton\M0A21\Include -I..\..\..\..\Library\StdDriver\inc -I..\ -IC:\Keil_v5\ARM\RV31\INC -IC:\Keil_v5\ARM\CMSIS\Include -D__MICROLIB -D__UVISION_VERSION=538 --omf_browse=.\obj\system_m0a21.crf ..\..\..\..\Library\Device\Nuvoton\M0A21\Source\system_M0A21.c]
                          THUMB

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

                  SystemCoreClockUpdate PROC
;;;35      */
;;;36     void SystemCoreClockUpdate(void)
000000  b510              PUSH     {r4,lr}
;;;37     {
;;;38         uint32_t u32Freq, u32ClkSrc;
;;;39         uint32_t u32HclkDiv;
;;;40     
;;;41         u32ClkSrc = CLK->CLKSEL0 & CLK_CLKSEL0_HCLKSEL_Msk;
000002  490a              LDR      r1,|L1.44|
000004  6908              LDR      r0,[r1,#0x10]
;;;42     
;;;43         /* Use the clock sources directly */
;;;44         u32Freq = gau32ClkSrcTbl[u32ClkSrc];
000006  4a0a              LDR      r2,|L1.48|
000008  0740              LSLS     r0,r0,#29             ;41
00000a  0ec0              LSRS     r0,r0,#27
00000c  5810              LDR      r0,[r2,r0]
;;;45     
;;;46         u32HclkDiv = (CLK->CLKDIV0 & CLK_CLKDIV0_HCLKDIV_Msk) + 1;
00000e  6a09              LDR      r1,[r1,#0x20]
000010  0709              LSLS     r1,r1,#28
000012  0f09              LSRS     r1,r1,#28
000014  1c49              ADDS     r1,r1,#1
;;;47     
;;;48         /* Update System Core Clock */
;;;49         SystemCoreClock = u32Freq / u32HclkDiv;
000016  f7fffffe          BL       __aeabi_uidivmod
00001a  4c06              LDR      r4,|L1.52|
;;;50     
;;;51         CyclesPerUs = (SystemCoreClock + 500000) / 1000000;
00001c  4906              LDR      r1,|L1.56|
00001e  6020              STR      r0,[r4,#0]  ; SystemCoreClock
000020  104a              ASRS     r2,r1,#1
000022  1880              ADDS     r0,r0,r2
000024  f7fffffe          BL       __aeabi_uidivmod
000028  6060              STR      r0,[r4,#4]  ; CyclesPerUs
;;;52     }
00002a  bd10              POP      {r4,pc}
;;;53     
                          ENDP

                  |L1.44|
                          DCD      0x40000200
                  |L1.48|
                          DCD      ||.constdata||
                  |L1.52|
                          DCD      ||.data||
                  |L1.56|
                          DCD      0x000f4240

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

                  SystemInit PROC
;;;63      */
;;;64     void SystemInit(void)
000000  4770              BX       lr
;;;65     {
;;;66     
;;;67     }
;;;68     
                          ENDP


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

                  gau32ClkSrcTbl
                          DCD      0x00b71b00
                          DCD      0x00008000
                          DCD      0x00000000
                          DCD      0x00009600
                          DCD      0x00000000
                          DCD      0x00000000
                          DCD      0x00000000
                          DCD      0x02dc6c00

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

                  SystemCoreClock
                          DCD      0x02dc6c00
                  CyclesPerUs
                          DCD      0x00000030

;*** Start embedded assembler ***

#line 1 "..\\..\\..\\..\\Library\\Device\\Nuvoton\\M0A21\\Source\\system_M0A21.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___14_system_M0A21_c_5d646a67____REV16|
#line 464 "..\\..\\..\\..\\Library\\CMSIS\\Include\\cmsis_armcc.h"
|__asm___14_system_M0A21_c_5d646a67____REV16| PROC
#line 465

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

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
