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

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

                  GPIO_SetMode PROC
;;;38      */
;;;39     void GPIO_SetMode(GPIO_T *PORT, uint32_t pin_mask, uint32_t mode)
000000  b5f0              PUSH     {r4-r7,lr}
;;;40     {
;;;41         uint32_t i;
;;;42     
;;;43         for (i=0; i<GPIO_PIN_MAX; i++)
000002  2300              MOVS     r3,#0
;;;44         {
;;;45             if (pin_mask & (1 << i))
000004  2701              MOVS     r7,#1
                  |L1.6|
000006  463c              MOV      r4,r7
000008  409c              LSLS     r4,r4,r3
00000a  420c              TST      r4,r1
00000c  d008              BEQ      |L1.32|
;;;46             {
;;;47                 PORT->PMD = (PORT->PMD & ~(0x3 << (i << 1))) | (mode << (i << 1));
00000e  6805              LDR      r5,[r0,#0]
000010  005c              LSLS     r4,r3,#1
000012  2603              MOVS     r6,#3
000014  40a6              LSLS     r6,r6,r4
000016  43b5              BICS     r5,r5,r6
000018  4616              MOV      r6,r2
00001a  40a6              LSLS     r6,r6,r4
00001c  4335              ORRS     r5,r5,r6
00001e  6005              STR      r5,[r0,#0]
                  |L1.32|
000020  1c5b              ADDS     r3,r3,#1
000022  2b08              CMP      r3,#8                 ;43
000024  d3ef              BCC      |L1.6|
;;;48             }
;;;49         }
;;;50     }
000026  bdf0              POP      {r4-r7,pc}
;;;51     
                          ENDP

                  GPIO_EnableInt PROC
;;;63      */
;;;64     void GPIO_EnableInt(GPIO_T *PORT, uint32_t u32Pin, uint32_t u32IntAttribs)
000028  b510              PUSH     {r4,lr}
;;;65     {
;;;66         PORT->IMD |= (((u32IntAttribs >> 24) & 0xFFUL) << u32Pin);
00002a  6983              LDR      r3,[r0,#0x18]
00002c  0e14              LSRS     r4,r2,#24
00002e  408c              LSLS     r4,r4,r1
000030  4323              ORRS     r3,r3,r4
000032  6183              STR      r3,[r0,#0x18]
;;;67         PORT->IEN |= ((u32IntAttribs & 0xFFFFFFUL) << u32Pin);
000034  69c3              LDR      r3,[r0,#0x1c]
000036  0212              LSLS     r2,r2,#8
000038  0a12              LSRS     r2,r2,#8
00003a  408a              LSLS     r2,r2,r1
00003c  4313              ORRS     r3,r3,r2
00003e  61c3              STR      r3,[r0,#0x1c]
;;;68     }
000040  bd10              POP      {r4,pc}
;;;69     
                          ENDP

                  GPIO_DisableInt PROC
;;;80      */
;;;81     void GPIO_DisableInt(GPIO_T *PORT, uint32_t u32Pin)
000042  6982              LDR      r2,[r0,#0x18]
;;;82     {
;;;83         PORT->IMD &= ~(1UL << u32Pin);
000044  2301              MOVS     r3,#1
000046  408b              LSLS     r3,r3,r1
000048  439a              BICS     r2,r2,r3
00004a  6182              STR      r2,[r0,#0x18]
;;;84         PORT->IEN &= ~((0x00010001UL) << u32Pin);
00004c  69c2              LDR      r2,[r0,#0x1c]
00004e  4b02              LDR      r3,|L1.88|
000050  408b              LSLS     r3,r3,r1
000052  439a              BICS     r2,r2,r3
000054  61c2              STR      r2,[r0,#0x1c]
;;;85     }
000056  4770              BX       lr
;;;86     
                          ENDP

                  |L1.88|
                          DCD      0x00010001

;*** Start embedded assembler ***

#line 1 "StdDriver\\src\\gpio.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___6_gpio_c_f8f858a7____REV16|
#line 118 ".\\CMSIS\\core_cmInstr.h"
|__asm___6_gpio_c_f8f858a7____REV16| PROC
#line 119

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

 revsh r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
