; 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\main.o --asm_dir=.\lst\ --list_dir=.\lst\ --depend=.\obj\main.d --cpu=Cortex-M0 --apcs=interwork --diag_suppress=9931 -I..\..\..\Library\CMSIS\Include -I..\..\..\Library\Device\Nuvoton\NM1240\Include -I..\..\..\Library\StdDriver\inc -I.\RTE\_Template -IC:\Keil_v5\ARM\PACK\ARM\CMSIS\5.4.0\CMSIS\Core\Include -IC:\Keil_v5\ARM\PACK\Nuvoton\NuMicro_DFP\1.3.9\Device\NM1230\Include -D__MICROLIB -D__UVISION_VERSION=526 -D_RTE_ --omf_browse=.\obj\main.crf ..\main.c]
                          THUMB

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

                  SYS_Init PROC
;;;13     
;;;14     void SYS_Init(void)
000000  b510              PUSH     {r4,lr}
000002  2059              MOVS     r0,#0x59
000004  4c10              LDR      r4,|L1.72|
000006  2116              MOVS     r1,#0x16
000008  2288              MOVS     r2,#0x88
                  |L1.10|
00000a  6020              STR      r0,[r4,#0]
00000c  6021              STR      r1,[r4,#0]
00000e  6022              STR      r2,[r4,#0]
000010  6823              LDR      r3,[r4,#0]
000012  2b00              CMP      r3,#0
000014  d0f9              BEQ      |L1.10|
;;;15     {
;;;16         /* Unlock protected registers */
;;;17         SYS_UnlockReg();
;;;18     
;;;19         CLK_SetCoreClock(FREQ_60MHZ);
000016  480d              LDR      r0,|L1.76|
000018  f7fffffe          BL       CLK_SetCoreClock
;;;20     
;;;21         /* Enable USCI2 IP clock */
;;;22     		CLK_EnableModuleClock(USCI2_MODULE);
00001c  480c              LDR      r0,|L1.80|
00001e  f7fffffe          BL       CLK_EnableModuleClock
;;;23     
;;;24         /* USCI-Uart2-GPF1(TX) + GPF2(RX) */
;;;25         /* Set GPF multi-function pins for USCI UART2 GPF1(TX) and GPF2(RX) */
;;;26         SYS->GPF_MFP = (SYS->GPF_MFP & ~(SYS_GPF_MFP_PF1MFP_Msk | SYS_GPF_MFP_PF2MFP_Msk)) | (SYS_GPF_MFP_PF1_UART2_TXD | SYS_GPF_MFP_PF2_UART2_RXD);
000022  4809              LDR      r0,|L1.72|
000024  38c0              SUBS     r0,r0,#0xc0
000026  6841              LDR      r1,[r0,#4]
000028  22ff              MOVS     r2,#0xff
00002a  0112              LSLS     r2,r2,#4
00002c  4391              BICS     r1,r1,r2
00002e  22bb              MOVS     r2,#0xbb
000030  0112              LSLS     r2,r2,#4
000032  1889              ADDS     r1,r1,r2
000034  6041              STR      r1,[r0,#4]
;;;27     
;;;28         /* Set GPF1 as output mode and GPF2 as Input mode */
;;;29         PF->MODE = (PF->MODE & ~(GPIO_MODE_MODE1_Msk | GPIO_MODE_MODE2_Msk)) | (GPIO_MODE_OUTPUT << GPIO_MODE_MODE1_Pos);
000036  4907              LDR      r1,|L1.84|
000038  6808              LDR      r0,[r1,#0]
00003a  223c              MOVS     r2,#0x3c
00003c  4390              BICS     r0,r0,r2
00003e  1d00              ADDS     r0,r0,#4
000040  6008              STR      r0,[r1,#0]
000042  2000              MOVS     r0,#0
000044  6020              STR      r0,[r4,#0]
;;;30     	
;;;31         /* Lock protected registers */
;;;32         SYS_LockReg();	
;;;33     }
000046  bd10              POP      {r4,pc}
;;;34     
                          ENDP

                  |L1.72|
                          DCD      0x50000100
                  |L1.76|
                          DCD      0x03938700
                  |L1.80|
                          DCD      0x4000001a
                  |L1.84|
                          DCD      0x50004140

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

                          REQUIRE _printf_pre_padding
                          REQUIRE _printf_percent
                          REQUIRE _printf_flags
                          REQUIRE _printf_widthprec
                          REQUIRE _printf_x
                          REQUIRE _printf_longlong_hex
                          REQUIRE _printf_d
                          REQUIRE _printf_int_dec
                          REQUIRE _printf_c
                          REQUIRE _printf_str
                  main PROC
;;;35     
;;;36     int main()
000000  f7fffffe          BL       SYS_Init
;;;37     {
;;;38         int8_t ch;
;;;39     
;;;40         SYS_Init();
;;;41     
;;;42         /* Init USCI UART2 to 115200-8n1 for print message */
;;;43     		UUART_Open(UUART2, 115200);	
000004  21e1              MOVS     r1,#0xe1
000006  0249              LSLS     r1,r1,#9
000008  4812              LDR      r0,|L2.84|
00000a  f7fffffe          BL       UUART_Open
;;;44     
;;;45         printf("\n\nPDID 0x%08X\n", SYS_ReadPDID());    /* Display PDID */
00000e  f7fffffe          BL       SYS_ReadPDID
000012  4601              MOV      r1,r0
000014  a010              ADR      r0,|L2.88|
000016  f7fffffe          BL       __2printf
;;;46         printf("CPU @ %dHz\n", SystemCoreClock);        /* Display System Core Clock */
00001a  4813              LDR      r0,|L2.104|
00001c  6801              LDR      r1,[r0,#0]  ; SystemCoreClock
00001e  a013              ADR      r0,|L2.108|
000020  f7fffffe          BL       __2printf
;;;47     
;;;48         printf("+-----------------------------------------+\n");
000024  a014              ADR      r0,|L2.120|
000026  f7fffffe          BL       __2printf
;;;49         printf("|            Simple Demo Code             |\n");
00002a  a01f              ADR      r0,|L2.168|
00002c  f7fffffe          BL       __2printf
;;;50         printf("+-----------------------------------------+\n");
000030  a011              ADR      r0,|L2.120|
000032  f7fffffe          BL       __2printf
;;;51     	
;;;52         printf("Please input any key\n\n");
000036  a028              ADR      r0,|L2.216|
000038  f7fffffe          BL       __2printf
                  |L2.60|
;;;53         do
;;;54         {
;;;55             printf("Input: ");
00003c  a02c              ADR      r0,|L2.240|
00003e  f7fffffe          BL       __2printf
;;;56             ch = getchar();
000042  482d              LDR      r0,|L2.248|
000044  f7fffffe          BL       getc
000048  b241              SXTB     r1,r0
;;;57             printf("%c\n", ch);
00004a  a02c              ADR      r0,|L2.252|
00004c  f7fffffe          BL       __2printf
;;;58         }
;;;59         while(1);
000050  e7f4              B        |L2.60|
;;;60     }
;;;61     
                          ENDP

000052  0000              DCW      0x0000
                  |L2.84|
                          DCD      0x40270000
                  |L2.88|
000058  0a0a5044          DCB      "\n\nPDID 0x%08X\n",0
00005c  49442030
000060  78253038
000064  580a00  
000067  00                DCB      0
                  |L2.104|
                          DCD      SystemCoreClock
                  |L2.108|
00006c  43505520          DCB      "CPU @ %dHz\n",0
000070  40202564
000074  487a0a00
                  |L2.120|
000078  2b2d2d2d          DCB      "+-----------------------------------------+\n",0
00007c  2d2d2d2d
000080  2d2d2d2d
000084  2d2d2d2d
000088  2d2d2d2d
00008c  2d2d2d2d
000090  2d2d2d2d
000094  2d2d2d2d
000098  2d2d2d2d
00009c  2d2d2d2d
0000a0  2d2d2b0a
0000a4  00      
0000a5  00                DCB      0
0000a6  00                DCB      0
0000a7  00                DCB      0
                  |L2.168|
0000a8  7c202020          DCB      "|            Simple Demo Code             |\n",0
0000ac  20202020
0000b0  20202020
0000b4  2053696d
0000b8  706c6520
0000bc  44656d6f
0000c0  20436f64
0000c4  65202020
0000c8  20202020
0000cc  20202020
0000d0  20207c0a
0000d4  00      
0000d5  00                DCB      0
0000d6  00                DCB      0
0000d7  00                DCB      0
                  |L2.216|
0000d8  506c6561          DCB      "Please input any key\n\n",0
0000dc  73652069
0000e0  6e707574
0000e4  20616e79
0000e8  206b6579
0000ec  0a0a00  
0000ef  00                DCB      0
                  |L2.240|
0000f0  496e7075          DCB      "Input: ",0
0000f4  743a2000
                  |L2.248|
                          DCD      __stdin
                  |L2.252|
0000fc  25630a00          DCB      "%c\n",0

;*** Start embedded assembler ***

#line 1 "..\\main.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___6_main_c_SYS_Init____REV16|
#line 388 "..\\..\\..\\Library\\CMSIS\\Include\\cmsis_armcc.h"
|__asm___6_main_c_SYS_Init____REV16| PROC
#line 389

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

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***

                  __ARM_use_no_argv EQU 0
