; generated by ARM C/C++ Compiler, 4.1 [Build 894]
; commandline ArmCC [--list --split_sections --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\Device\Nuvoton\Nano1X2Series\Include -I..\..\..\..\Library\StdDriver\inc -I..\..\..\..\Library\CMSIS\Include -IC:\Keil\ARM\RV31\Inc -IC:\Keil\ARM\CMSIS\Include -D__MICROLIB --omf_browse=.\obj\gpio.crf ..\..\..\..\Library\StdDriver\src\gpio.c]
                          THUMB

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

                  GPIO_DisableInt PROC
;;;78      */
;;;79     void GPIO_DisableInt(GPIO_T *gpio, uint32_t u32Pin)
000000  6982              LDR      r2,[r0,#0x18]
;;;80     {
;;;81         gpio->IMD &= ~(1UL << u32Pin);
000002  2301              MOVS     r3,#1
000004  408b              LSLS     r3,r3,r1
000006  439a              BICS     r2,r2,r3
000008  6182              STR      r2,[r0,#0x18]
;;;82         gpio->IER &= ~((0x00010001UL) << u32Pin);
00000a  69c2              LDR      r2,[r0,#0x1c]
00000c  4b02              LDR      r3,|L1.24|
00000e  408b              LSLS     r3,r3,r1
000010  439a              BICS     r2,r2,r3
000012  61c2              STR      r2,[r0,#0x1c]
;;;83     }
000014  4770              BX       lr
;;;84     
                          ENDP

000016  0000              DCW      0x0000
                  |L1.24|
                          DCD      0x00010001

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

                  GPIO_EnableInt PROC
;;;61      */
;;;62     void GPIO_EnableInt(GPIO_T *gpio, uint32_t u32Pin, uint32_t u32IntAttribs)
000000  b510              PUSH     {r4,lr}
;;;63     {
;;;64         gpio->IMD |= (((u32IntAttribs >> 24) & 0xFFUL) << u32Pin);
000002  6983              LDR      r3,[r0,#0x18]
000004  0e14              LSRS     r4,r2,#24
000006  408c              LSLS     r4,r4,r1
000008  4323              ORRS     r3,r3,r4
00000a  6183              STR      r3,[r0,#0x18]
;;;65         gpio->IER |= ((u32IntAttribs & 0xFFFFFFUL) << u32Pin);
00000c  69c3              LDR      r3,[r0,#0x1c]
00000e  0212              LSLS     r2,r2,#8
000010  0a12              LSRS     r2,r2,#8
000012  408a              LSLS     r2,r2,r1
000014  4313              ORRS     r3,r3,r2
000016  61c3              STR      r3,[r0,#0x1c]
;;;66     }
000018  bd10              POP      {r4,pc}
;;;67     
                          ENDP


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

                  GPIO_SetMode PROC
;;;38      */
;;;39     void GPIO_SetMode(GPIO_T *gpio, uint32_t u32PinMask, uint32_t u32Mode)
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             if (u32PinMask & (1 << i)) {
000004  2701              MOVS     r7,#1
                  |L3.6|
000006  463c              MOV      r4,r7
000008  409c              LSLS     r4,r4,r3
00000a  420c              TST      r4,r1
00000c  d008              BEQ      |L3.32|
;;;45                 gpio->PMD = (gpio->PMD & ~(0x3 << (i << 1))) | (u32Mode << (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]
                  |L3.32|
000020  1c5b              ADDS     r3,r3,#1              ;43
000022  2b10              CMP      r3,#0x10              ;43
000024  d3ef              BCC      |L3.6|
;;;46             }
;;;47         }
;;;48     }
000026  bdf0              POP      {r4-r7,pc}
;;;49     
                          ENDP


;*** Start embedded assembler ***

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

 rev16 r0, r0
 bx lr
	ENDP
	AREA ||.revsh_text||, CODE, READONLY
	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 ***
