; 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_nm1120.o --asm_dir=.\lst\ --list_dir=.\lst\ --depend=.\obj\system_nm1120.d --cpu=Cortex-M0 --apcs=interwork --diag_suppress=9931 -I..\..\..\..\Library\CMSIS\Include -I..\..\..\..\Library\Device\Nuvoton\NM1120\Include -I..\..\..\..\Library\StdDriver\inc -IC:\Keil_v5\ARM\RV31\INC -IC:\Keil_v5\ARM\CMSIS\Include -D__MICROLIB -D__UVISION_VERSION=526 --omf_browse=.\obj\system_nm1120.crf ..\..\..\..\Library\Device\Nuvoton\NM1120\Source\system_NM1120.c]
                          THUMB

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

                  SystemCoreClockUpdate PROC
;;;30      *----------------------------------------------------------------------------*/
;;;31     void SystemCoreClockUpdate(void)
000000  b510              PUSH     {r4,lr}
;;;32     {
;;;33         uint32_t u32Freq, u32ClkSrc;
;;;34         uint32_t u32HclkDiv;
;;;35     
;;;36         u32ClkSrc = (CLK->CLKSEL0 & CLK_CLKSEL0_HCLKSEL_Msk) >> CLK_CLKSEL0_HCLKSEL_Pos;
000002  490b              LDR      r1,|L1.48|
000004  6908              LDR      r0,[r1,#0x10]
;;;37         u32Freq = gau32ClkSrcTbl[u32ClkSrc];
000006  4a0b              LDR      r2,|L1.52|
000008  0780              LSLS     r0,r0,#30             ;36
00000a  0f00              LSRS     r0,r0,#28
00000c  5810              LDR      r0,[r2,r0]
;;;38         u32HclkDiv = ((CLK->CLKDIV & CLK_CLKDIV_HCLKDIV_Msk) >> CLK_CLKDIV_HCLKDIV_Pos) + 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
;;;39     
;;;40         /* Update System Core Clock */
;;;41         SystemCoreClock = u32Freq / u32HclkDiv;
000016  f7fffffe          BL       __aeabi_uidivmod
00001a  4c06              LDR      r4,|L1.52|
;;;42     
;;;43         CyclesPerUs = (SystemCoreClock + 500000) / 1000000;
00001c  4906              LDR      r1,|L1.56|
00001e  3c08              SUBS     r4,r4,#8              ;41
000020  104a              ASRS     r2,r1,#1
000022  6020              STR      r0,[r4,#0]  ; SystemCoreClock
000024  1880              ADDS     r0,r0,r2
000026  f7fffffe          BL       __aeabi_uidivmod
00002a  6060              STR      r0,[r4,#4]  ; CyclesPerUs
;;;44     #if DEBUG
;;;45         printf("SystemCoreClockUpdate(): u32ClkSrc=%d, u32Freq=%d, u32HclkDiv=%d, SystemCoreClock=%d\n",
;;;46             u32ClkSrc, u32Freq, u32HclkDiv, SystemCoreClock);
;;;47     #endif
;;;48     }
00002c  bd10              POP      {r4,pc}
;;;49     
                          ENDP

00002e  0000              DCW      0x0000
                  |L1.48|
                          DCD      0x50000200
                  |L1.52|
                          DCD      ||.data||+0x8
                  |L1.56|
                          DCD      0x000f4240

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

                  SystemInit PROC
;;;62     /*---------------------------------------------------------------------------------------------------------*/
;;;63     void SystemInit(void)
000000  4770              BX       lr
;;;64     {
;;;65     }
                          ENDP


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

                  SystemCoreClock
                          DCD      0x02dc6c00
                  CyclesPerUs
                          DCD      0x00000030
                  gau32ClkSrcTbl
                          DCD      0x00b71b00
                          DCD      0x00002710
                          DCD      0x00000000
                          DCD      0x02dc6c00

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

                          EXPORTAS ||area_number.6||, ||.data||
                  PllClock
                          DCD      0x02dc6c00

;*** Start embedded assembler ***

#line 1 "..\\..\\..\\..\\Library\\Device\\Nuvoton\\NM1120\\Source\\system_NM1120.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___15_system_NM1120_c_5d646a67____REV16|
#line 388 "..\\..\\..\\..\\Library\\CMSIS\\Include\\cmsis_armcc.h"
|__asm___15_system_NM1120_c_5d646a67____REV16| PROC
#line 389

 rev16 r0, r0
 bx lr
	ENDP
	AREA ||.revsh_text||, CODE
	THUMB
	EXPORT |__asm___15_system_NM1120_c_5d646a67____REVSH|
#line 402
|__asm___15_system_NM1120_c_5d646a67____REVSH| PROC
#line 403

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
