; generated by Component: ARM Compiler 5.06 update 7 (build 960) Tool: ArmCC [4d365d]
; commandline ArmCC [--list --split_sections --debug -c --asm --interleave -o.\obj\eadc.o --asm_dir=.\lst\ --list_dir=.\lst\ --depend=.\obj\eadc.d --cpu=Cortex-M4.fp.sp --apcs=interwork --diag_suppress=9931 -I..\..\..\Library\CMSIS\Include -I..\..\..\Library\Device\Nuvoton\M480\Include -I..\..\..\Library\StdDriver\inc -IC:\Keil_v5\ARM\RV31\INC -IC:\Keil_v5\ARM\CMSIS\Include -D__MICROLIB -D__UVISION_VERSION=538 --omf_browse=.\obj\eadc.crf ..\..\..\Library\StdDriver\src\eadc.c]
                          THUMB

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

                  EADC_Close PROC
;;;46       */
;;;47     void EADC_Close(EADC_T *eadc)
000000  6d01              LDR      r1,[r0,#0x50]
;;;48     {
;;;49         eadc->CTL &= ~EADC_CTL_ADCEN_Msk;
000002  f0210101          BIC      r1,r1,#1
000006  6501              STR      r1,[r0,#0x50]
;;;50     }
000008  4770              BX       lr
;;;51     
                          ENDP


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

                  EADC_ConfigSampleModule PROC
;;;83       */
;;;84     void EADC_ConfigSampleModule(EADC_T *eadc, \
000000  b510              PUSH     {r4,lr}
;;;85                                  uint32_t u32ModuleNum, \
;;;86                                  uint32_t u32TriggerSrc, \
;;;87                                  uint32_t u32Channel)
;;;88     {
;;;89         eadc->SCTL[u32ModuleNum] &= ~(EADC_SCTL_EXTFEN_Msk | EADC_SCTL_EXTREN_Msk | EADC_SCTL_TRGSEL_Msk | EADC_SCTL_CHSEL_Msk);
000002  eb000081          ADD      r0,r0,r1,LSL #2
000006  f8501f80          LDR      r1,[r0,#0x80]!
00000a  4c04              LDR      r4,|L2.28|
00000c  4021              ANDS     r1,r1,r4
00000e  6001              STR      r1,[r0,#0]
;;;90         eadc->SCTL[u32ModuleNum] |= (u32TriggerSrc | u32Channel);
000010  6801              LDR      r1,[r0,#0]
000012  431a              ORRS     r2,r2,r3
000014  4311              ORRS     r1,r1,r2
000016  6001              STR      r1,[r0,#0]
;;;91     }
000018  bd10              POP      {r4,pc}
;;;92     
                          ENDP

00001a  0000              DCW      0x0000
                  |L2.28|
                          DCD      0xffe0ffc0

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

                  EADC_Open PROC
;;;32       */
;;;33     void EADC_Open(EADC_T *eadc, uint32_t u32InputMode)
000000  6d02              LDR      r2,[r0,#0x50]
;;;34     {
;;;35         eadc->CTL &= (~EADC_CTL_DIFFEN_Msk);
000002  f4227280          BIC      r2,r2,#0x100
000006  6502              STR      r2,[r0,#0x50]
;;;36     
;;;37         eadc->CTL |= (u32InputMode | EADC_CTL_ADCEN_Msk);
000008  6d02              LDR      r2,[r0,#0x50]
00000a  f0410101          ORR      r1,r1,#1
00000e  430a              ORRS     r2,r2,r1
000010  6502              STR      r2,[r0,#0x50]
                  |L3.18|
;;;38         while (!(eadc->PWRM & EADC_PWRM_PWUPRDY_Msk)) {}
000012  f8d01110          LDR      r1,[r0,#0x110]
000016  07c9              LSLS     r1,r1,#31
000018  d0fb              BEQ      |L3.18|
;;;39     }
00001a  4770              BX       lr
;;;40     
                          ENDP


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

                  EADC_SetExtendSampleTime PROC
;;;125      */
;;;126    void EADC_SetExtendSampleTime(EADC_T *eadc, uint32_t u32ModuleNum, uint32_t u32ExtendSampleTime)
000000  eb000081          ADD      r0,r0,r1,LSL #2
;;;127    {
;;;128        eadc->SCTL[u32ModuleNum] &= ~EADC_SCTL_EXTSMPT_Msk;
000004  f8501f80          LDR      r1,[r0,#0x80]!
000008  f021417f          BIC      r1,r1,#0xff000000
00000c  6001              STR      r1,[r0,#0]
;;;129    
;;;130        eadc->SCTL[u32ModuleNum] |= (u32ExtendSampleTime << EADC_SCTL_EXTSMPT_Pos);
00000e  6801              LDR      r1,[r0,#0]
000010  ea416102          ORR      r1,r1,r2,LSL #24
000014  6001              STR      r1,[r0,#0]
;;;131    
;;;132    }
000016  4770              BX       lr
;;;133    
                          ENDP


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

                  EADC_SetTriggerDelayTime PROC
;;;107      */
;;;108    void EADC_SetTriggerDelayTime(EADC_T *eadc, \
000000  b510              PUSH     {r4,lr}
;;;109                                  uint32_t u32ModuleNum, \
;;;110                                  uint32_t u32TriggerDelayTime, \
;;;111                                  uint32_t u32DelayClockDivider)
;;;112    {
;;;113        eadc->SCTL[u32ModuleNum] &= ~(EADC_SCTL_TRGDLYDIV_Msk | EADC_SCTL_TRGDLYCNT_Msk);
000002  eb000081          ADD      r0,r0,r1,LSL #2
000006  f8501f80          LDR      r1,[r0,#0x80]!
00000a  f64f74c0          MOV      r4,#0xffc0
00000e  43a1              BICS     r1,r1,r4
000010  6001              STR      r1,[r0,#0]
;;;114        eadc->SCTL[u32ModuleNum] |= ((u32TriggerDelayTime << EADC_SCTL_TRGDLYCNT_Pos) | u32DelayClockDivider);
000012  6801              LDR      r1,[r0,#0]
000014  ea432202          ORR      r2,r3,r2,LSL #8
000018  4311              ORRS     r1,r1,r2
00001a  6001              STR      r1,[r0,#0]
;;;115    }
00001c  bd10              POP      {r4,pc}
;;;116    
                          ENDP


;*** Start embedded assembler ***

#line 1 "..\\..\\..\\Library\\StdDriver\\src\\eadc.c"
	AREA ||.rev16_text||, CODE
	THUMB
	EXPORT |__asm___6_eadc_c_31f612a1____REV16|
#line 388 "..\\..\\..\\Library\\CMSIS\\Include\\cmsis_armcc.h"
|__asm___6_eadc_c_31f612a1____REV16| PROC
#line 389

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

 revsh r0, r0
 bx lr
	ENDP
	AREA ||.rrx_text||, CODE
	THUMB
	EXPORT |__asm___6_eadc_c_31f612a1____RRX|
#line 587
|__asm___6_eadc_c_31f612a1____RRX| PROC
#line 588

 rrx r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
