; 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\pdma.o --asm_dir=.\lst\ --list_dir=.\lst\ --depend=.\obj\pdma.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\pdma.crf ..\..\..\Library\StdDriver\src\pdma.c]
                          THUMB

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

                  PDMA_Close PROC
;;;61      */
;;;62     void PDMA_Close(PDMA_T * pdma)
000000  2100              MOVS     r1,#0
;;;63     {
;;;64         pdma->CHCTL = 0UL;
000002  f8c01400          STR      r1,[r0,#0x400]
;;;65     }
000006  4770              BX       lr
;;;66     
                          ENDP


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

                  PDMA_DisableInt PROC
;;;460     */
;;;461    void PDMA_DisableInt(PDMA_T * pdma,uint32_t u32Ch, uint32_t u32Mask)
000000  2301              MOVS     r3,#1
;;;462    {
;;;463        switch(u32Mask)
;;;464        {
;;;465        case PDMA_INT_TRANS_DONE:
;;;466            pdma->INTEN &= ~(1ul << u32Ch);
000002  408b              LSLS     r3,r3,r1
000004  b14a              CBZ      r2,|L2.26|
000006  2a01              CMP      r2,#1                 ;463
000008  d00d              BEQ      |L2.38|
00000a  2a02              CMP      r2,#2                 ;463
00000c  d104              BNE      |L2.24|
;;;467            break;
;;;468        case PDMA_INT_TEMPTY:
;;;469            pdma->DSCT[u32Ch].CTL |= PDMA_DSCT_CTL_TBINTDIS_Msk;
;;;470            break;
;;;471        case PDMA_INT_TIMEOUT:
;;;472            pdma->TOUTIEN &= ~(1ul << u32Ch);
00000e  f8d01438          LDR      r1,[r0,#0x438]
000012  4399              BICS     r1,r1,r3
000014  f8c01438          STR      r1,[r0,#0x438]
                  |L2.24|
;;;473            break;
;;;474    
;;;475        default:
;;;476            break;
;;;477        }
;;;478    }
000018  4770              BX       lr
                  |L2.26|
00001a  f8d01418          LDR      r1,[r0,#0x418]        ;466
00001e  4399              BICS     r1,r1,r3              ;466
000020  f8c01418          STR      r1,[r0,#0x418]        ;466
000024  4770              BX       lr
                  |L2.38|
000026  eb001001          ADD      r0,r0,r1,LSL #4       ;469
00002a  6801              LDR      r1,[r0,#0]            ;469
00002c  f0410180          ORR      r1,r1,#0x80           ;469
000030  6001              STR      r1,[r0,#0]            ;469
000032  4770              BX       lr
;;;479    
                          ENDP


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

                  PDMA_DisableTimeout PROC
;;;356     */
;;;357    void PDMA_DisableTimeout(PDMA_T * pdma,uint32_t u32Mask)
000000  f8d02434          LDR      r2,[r0,#0x434]
;;;358    {
;;;359        pdma->TOUTEN &= ~u32Mask;
000004  438a              BICS     r2,r2,r1
000006  f8c02434          STR      r2,[r0,#0x434]
;;;360    }
00000a  4770              BX       lr
;;;361    
                          ENDP


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

                  PDMA_EnableInt PROC
;;;427     */
;;;428    void PDMA_EnableInt(PDMA_T * pdma,uint32_t u32Ch, uint32_t u32Mask)
000000  2301              MOVS     r3,#1
;;;429    {
;;;430        switch(u32Mask)
;;;431        {
;;;432        case PDMA_INT_TRANS_DONE:
;;;433            pdma->INTEN |= (1ul << u32Ch);
000002  408b              LSLS     r3,r3,r1
000004  b14a              CBZ      r2,|L4.26|
000006  2a01              CMP      r2,#1                 ;430
000008  d00d              BEQ      |L4.38|
00000a  2a02              CMP      r2,#2                 ;430
00000c  d104              BNE      |L4.24|
;;;434            break;
;;;435        case PDMA_INT_TEMPTY:
;;;436            pdma->DSCT[u32Ch].CTL &= ~PDMA_DSCT_CTL_TBINTDIS_Msk;
;;;437            break;
;;;438        case PDMA_INT_TIMEOUT:
;;;439            pdma->TOUTIEN |= (1ul << u32Ch);
00000e  f8d01438          LDR      r1,[r0,#0x438]
000012  4319              ORRS     r1,r1,r3
000014  f8c01438          STR      r1,[r0,#0x438]
                  |L4.24|
;;;440            break;
;;;441    
;;;442        default:
;;;443            break;
;;;444        }
;;;445    }
000018  4770              BX       lr
                  |L4.26|
00001a  f8d01418          LDR      r1,[r0,#0x418]        ;433
00001e  4319              ORRS     r1,r1,r3              ;433
000020  f8c01418          STR      r1,[r0,#0x418]        ;433
000024  4770              BX       lr
                  |L4.38|
000026  eb001001          ADD      r0,r0,r1,LSL #4       ;436
00002a  6801              LDR      r1,[r0,#0]            ;436
00002c  f0210180          BIC      r1,r1,#0x80           ;436
000030  6001              STR      r1,[r0,#0]            ;436
000032  4770              BX       lr
;;;446    
                          ENDP


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

                  PDMA_EnableTimeout PROC
;;;340     */
;;;341    void PDMA_EnableTimeout(PDMA_T * pdma,uint32_t u32Mask)
000000  f8d02434          LDR      r2,[r0,#0x434]
;;;342    {
;;;343        pdma->TOUTEN |= u32Mask;
000004  430a              ORRS     r2,r2,r1
000006  f8c02434          STR      r2,[r0,#0x434]
;;;344    }
00000a  4770              BX       lr
;;;345    
                          ENDP


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

                  PDMA_Open PROC
;;;36      */
;;;37     void PDMA_Open(PDMA_T * pdma,uint32_t u32Mask)
000000  b570              PUSH     {r4-r6,lr}
;;;38     {
;;;39         uint32_t i;
;;;40     
;;;41         for (i=0UL; i<PDMA_CH_MAX; i++)
000002  2200              MOVS     r2,#0
;;;42         {
;;;43             if((1 << i) & u32Mask)
;;;44             {
;;;45                 pdma->DSCT[i].CTL = 0UL;
;;;46                 u32ChSelect[i] = PDMA_MEM;
000004  4d09              LDR      r5,|L6.44|
000006  2601              MOVS     r6,#1                 ;43
000008  4613              MOV      r3,r2                 ;43
                  |L6.10|
00000a  fa06f402          LSL      r4,r6,r2              ;43
00000e  420c              TST      r4,r1                 ;43
000010  d003              BEQ      |L6.26|
000012  eb001402          ADD      r4,r0,r2,LSL #4       ;45
000016  6023              STR      r3,[r4,#0]            ;45
000018  54ab              STRB     r3,[r5,r2]
                  |L6.26|
00001a  1c52              ADDS     r2,r2,#1
00001c  2a10              CMP      r2,#0x10              ;41
00001e  d3f4              BCC      |L6.10|
;;;47             }
;;;48         }
;;;49     
;;;50         pdma->CHCTL |= u32Mask;
000020  f8d02400          LDR      r2,[r0,#0x400]
000024  430a              ORRS     r2,r2,r1
000026  f8c02400          STR      r2,[r0,#0x400]
;;;51     }
00002a  bd70              POP      {r4-r6,pc}
;;;52     
                          ENDP

                  |L6.44|
                          DCD      ||.bss||

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

                  PDMA_SetBurstType PROC
;;;323     */
;;;324    void PDMA_SetBurstType(PDMA_T * pdma,uint32_t u32Ch, uint32_t u32BurstType, uint32_t u32BurstSize)
000000  eb001001          ADD      r0,r0,r1,LSL #4
;;;325    {
;;;326        pdma->DSCT[u32Ch].CTL &= ~(PDMA_DSCT_CTL_TXTYPE_Msk | PDMA_DSCT_CTL_BURSIZE_Msk);
000004  6801              LDR      r1,[r0,#0]
000006  f0210174          BIC      r1,r1,#0x74
00000a  6001              STR      r1,[r0,#0]
;;;327        pdma->DSCT[u32Ch].CTL |= (u32BurstType | u32BurstSize);
00000c  6801              LDR      r1,[r0,#0]
00000e  431a              ORRS     r2,r2,r3
000010  4311              ORRS     r1,r1,r2
000012  6001              STR      r1,[r0,#0]
;;;328    }
000014  4770              BX       lr
;;;329    
                          ENDP


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

                  PDMA_SetRepeat PROC
;;;120     */
;;;121    void PDMA_SetRepeat(PDMA_T * pdma,uint32_t u32Ch, uint32_t u32DestInterval, uint32_t u32SrcInterval, uint32_t u32RepeatCount)
000000  b570              PUSH     {r4-r6,lr}
;;;122    {
;;;123        pdma->DSCT[u32Ch].CTL |= PDMA_DSCT_CTL_STRIDEEN_Msk;
000002  eb001401          ADD      r4,r0,r1,LSL #4
000006  9d04              LDR      r5,[sp,#0x10]
000008  6826              LDR      r6,[r4,#0]
00000a  f4464600          ORR      r6,r6,#0x8000
00000e  6026              STR      r6,[r4,#0]
;;;124        pdma->REPEAT[u32Ch].AICTL =((u32DestInterval)<<16) | (u32SrcInterval);
000010  eb0000c1          ADD      r0,r0,r1,LSL #3
000014  ea434202          ORR      r2,r3,r2,LSL #16
000018  f8c02600          STR      r2,[r0,#0x600]
;;;125        pdma->REPEAT[u32Ch].RCNT = u32RepeatCount;
00001c  f8c05604          STR      r5,[r0,#0x604]
;;;126    }
000020  bd70              POP      {r4-r6,pc}
;;;127    
                          ENDP


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

                  PDMA_SetStride PROC
;;;100     */
;;;101    void PDMA_SetStride(PDMA_T * pdma,uint32_t u32Ch, uint32_t u32DestLen, uint32_t u32SrcLen, uint32_t u32TransCount)
000000  b570              PUSH     {r4-r6,lr}
;;;102    {
;;;103        pdma->DSCT[u32Ch].CTL |= PDMA_DSCT_CTL_STRIDEEN_Msk;
000002  eb001401          ADD      r4,r0,r1,LSL #4
000006  9d04              LDR      r5,[sp,#0x10]
000008  6826              LDR      r6,[r4,#0]
00000a  f4464600          ORR      r6,r6,#0x8000
00000e  6026              STR      r6,[r4,#0]
000010  1e52              SUBS     r2,r2,#1
000012  1e5b              SUBS     r3,r3,#1
;;;104        pdma->STRIDE[u32Ch].ASOCR =((u32DestLen-1)<<16) | (u32SrcLen-1);
000014  eb0000c1          ADD      r0,r0,r1,LSL #3
000018  ea434202          ORR      r2,r3,r2,LSL #16
00001c  f8c02504          STR      r2,[r0,#0x504]
000020  1e6d              SUBS     r5,r5,#1
;;;105        pdma->STRIDE[u32Ch].STCR = u32TransCount-1;
000022  f8c05500          STR      r5,[r0,#0x500]
;;;106    }
000026  bd70              POP      {r4-r6,pc}
;;;107    
                          ENDP


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

                  PDMA_SetTimeOut PROC
;;;374     */
;;;375    void PDMA_SetTimeOut(PDMA_T * pdma,uint32_t u32Ch, uint32_t u32OnOff, uint32_t u32TimeOutCnt)
000000  b510              PUSH     {r4,lr}
;;;376    {
000002  b111              CBZ      r1,|L10.10|
;;;377        switch(u32Ch)
000004  2901              CMP      r1,#1
000006  d10c              BNE      |L10.34|
000008  e005              B        |L10.22|
                  |L10.10|
;;;378        {
;;;379        case 0ul:
;;;380            pdma->TOC0_1 = (pdma->TOC0_1 & ~PDMA_TOC0_1_TOC0_Msk) | u32TimeOutCnt;
00000a  f8d04440          LDR      r4,[r0,#0x440]
00000e  f36f040f          BFC      r4,#0,#16
000012  431c              ORRS     r4,r4,r3
;;;381            break;
000014  e003              B        |L10.30|
                  |L10.22|
;;;382        case 1ul:
;;;383            pdma->TOC0_1 = (pdma->TOC0_1 & ~PDMA_TOC0_1_TOC1_Msk) | (u32TimeOutCnt << PDMA_TOC0_1_TOC1_Pos);
000016  f8d04440          LDR      r4,[r0,#0x440]
00001a  f363441f          BFI      r4,r3,#16,#16
                  |L10.30|
00001e  f8c04440          STR      r4,[r0,#0x440]        ;380
                  |L10.34|
000022  2301              MOVS     r3,#1                 ;376
;;;384            break;
;;;385        default:
;;;386            break;
;;;387        }
;;;388    
;;;389        if (u32OnOff)
;;;390            pdma->TOUTEN |= (1 << u32Ch);
000024  408b              LSLS     r3,r3,r1
;;;391        else
;;;392            pdma->TOUTEN &= ~(1 << u32Ch);
000026  f8d01434          LDR      r1,[r0,#0x434]
00002a  b10a              CBZ      r2,|L10.48|
00002c  4319              ORRS     r1,r1,r3              ;390
00002e  e000              B        |L10.50|
                  |L10.48|
000030  4399              BICS     r1,r1,r3
                  |L10.50|
000032  f8c01434          STR      r1,[r0,#0x434]        ;390
;;;393    }
000036  bd10              POP      {r4,pc}
;;;394    
                          ENDP


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

                  PDMA_SetTransferAddr PROC
;;;145     */
;;;146    void PDMA_SetTransferAddr(PDMA_T * pdma,uint32_t u32Ch, uint32_t u32SrcAddr, uint32_t u32SrcCtrl, uint32_t u32DstAddr, uint32_t u32DstCtrl)
000000  b530              PUSH     {r4,r5,lr}
;;;147    {
;;;148        pdma->DSCT[u32Ch].SA = u32SrcAddr;
000002  eb001001          ADD      r0,r0,r1,LSL #4
000006  e9dd4503          LDRD     r4,r5,[sp,#0xc]       ;147
00000a  6042              STR      r2,[r0,#4]
;;;149        pdma->DSCT[u32Ch].DA = u32DstAddr;
00000c  6084              STR      r4,[r0,#8]
;;;150        pdma->DSCT[u32Ch].CTL &= ~(PDMA_DSCT_CTL_SAINC_Msk | PDMA_DSCT_CTL_DAINC_Msk);
00000e  6801              LDR      r1,[r0,#0]
000010  f4216170          BIC      r1,r1,#0xf00
000014  6001              STR      r1,[r0,#0]
;;;151        pdma->DSCT[u32Ch].CTL |= (u32SrcCtrl | u32DstCtrl);
000016  6801              LDR      r1,[r0,#0]
000018  432b              ORRS     r3,r3,r5
00001a  4319              ORRS     r1,r1,r3
00001c  6001              STR      r1,[r0,#0]
;;;152    }
00001e  bd30              POP      {r4,r5,pc}
;;;153    
                          ENDP


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

                  PDMA_SetTransferCnt PROC
;;;81      */
;;;82     void PDMA_SetTransferCnt(PDMA_T * pdma,uint32_t u32Ch, uint32_t u32Width, uint32_t u32TransCount)
000000  b510              PUSH     {r4,lr}
;;;83     {
;;;84         pdma->DSCT[u32Ch].CTL &= ~(PDMA_DSCT_CTL_TXCNT_Msk | PDMA_DSCT_CTL_TXWIDTH_Msk);
000002  eb001001          ADD      r0,r0,r1,LSL #4
000006  6801              LDR      r1,[r0,#0]
000008  f64c74ff          MOV      r4,#0xcfff
00000c  4021              ANDS     r1,r1,r4
00000e  6001              STR      r1,[r0,#0]
;;;85         pdma->DSCT[u32Ch].CTL |= (u32Width | ((u32TransCount - 1UL) << PDMA_DSCT_CTL_TXCNT_Pos));
000010  6801              LDR      r1,[r0,#0]
000012  4c03              LDR      r4,|L12.32|
000014  eb044303          ADD      r3,r4,r3,LSL #16
000018  4313              ORRS     r3,r3,r2
00001a  4319              ORRS     r1,r1,r3
00001c  6001              STR      r1,[r0,#0]
;;;86     }
00001e  bd10              POP      {r4,pc}
;;;87     
                          ENDP

                  |L12.32|
                          DCD      0xffff0000

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

                  PDMA_SetTransferMode PROC
;;;233     */
;;;234    void PDMA_SetTransferMode(PDMA_T * pdma,uint32_t u32Ch, uint32_t u32Peripheral, uint32_t u32ScatterEn, uint32_t u32DescAddr)
000000  b530              PUSH     {r4,r5,lr}
;;;235    {
;;;236        u32ChSelect[u32Ch] = u32Peripheral;
000002  4d4d              LDR      r5,|L13.312|
000004  9c03              LDR      r4,[sp,#0xc]
;;;237        switch(u32Ch)
000006  2910              CMP      r1,#0x10
000008  546a              STRB     r2,[r5,r1]            ;236
00000a  d27d              BCS      |L13.264|
00000c  e8dff001          TBB      [pc,r1]
000010  08101720          DCB      0x08,0x10,0x17,0x20
000014  272f363f          DCB      0x27,0x2f,0x36,0x3f
000018  464e555e          DCB      0x46,0x4e,0x55,0x5e
00001c  656d7489          DCB      0x65,0x6d,0x74,0x89
;;;238        {
;;;239        case 0ul:
;;;240            pdma->REQSEL0_3 = (pdma->REQSEL0_3 & ~PDMA_REQSEL0_3_REQSRC0_Msk) | u32Peripheral;
000020  f8d05480          LDR      r5,[r0,#0x480]
000024  f025057f          BIC      r5,r5,#0x7f
000028  4315              ORRS     r5,r5,r2
00002a  f8c05480          STR      r5,[r0,#0x480]
;;;241            break;
00002e  e06b              B        |L13.264|
;;;242        case 1ul:
;;;243            pdma->REQSEL0_3 = (pdma->REQSEL0_3 & ~PDMA_REQSEL0_3_REQSRC1_Msk) | (u32Peripheral << PDMA_REQSEL0_3_REQSRC1_Pos);
000030  f8d05480          LDR      r5,[r0,#0x480]
000034  f42545fe          BIC      r5,r5,#0x7f00
000038  ea452202          ORR      r2,r5,r2,LSL #8
;;;244            break;
00003c  e005              B        |L13.74|
;;;245        case 2ul:
;;;246            pdma->REQSEL0_3 = (pdma->REQSEL0_3 & ~PDMA_REQSEL0_3_REQSRC2_Msk) | (u32Peripheral << PDMA_REQSEL0_3_REQSRC2_Pos);
00003e  f8d05480          LDR      r5,[r0,#0x480]
000042  f42505fe          BIC      r5,r5,#0x7f0000
000046  ea454202          ORR      r2,r5,r2,LSL #16
                  |L13.74|
00004a  f8c02480          STR      r2,[r0,#0x480]        ;243
00004e  e05b              B        |L13.264|
;;;247            break;
;;;248        case 3ul:
;;;249            pdma->REQSEL0_3 = (pdma->REQSEL0_3 & ~PDMA_REQSEL0_3_REQSRC3_Msk) | (u32Peripheral << PDMA_REQSEL0_3_REQSRC3_Pos);
000050  f8d05480          LDR      r5,[r0,#0x480]
000054  f02545fe          BIC      r5,r5,#0x7f000000
000058  ea456202          ORR      r2,r5,r2,LSL #24
;;;250            break;
00005c  e7f5              B        |L13.74|
;;;251        case 4ul:
;;;252            pdma->REQSEL4_7 = (pdma->REQSEL4_7 & ~PDMA_REQSEL4_7_REQSRC4_Msk) | u32Peripheral;
00005e  f8d05484          LDR      r5,[r0,#0x484]
000062  f025057f          BIC      r5,r5,#0x7f
000066  4315              ORRS     r5,r5,r2
000068  f8c05484          STR      r5,[r0,#0x484]
;;;253            break;
00006c  e04c              B        |L13.264|
;;;254        case 5ul:
;;;255            pdma->REQSEL4_7 = (pdma->REQSEL4_7 & ~PDMA_REQSEL4_7_REQSRC5_Msk) | (u32Peripheral << PDMA_REQSEL4_7_REQSRC5_Pos);
00006e  f8d05484          LDR      r5,[r0,#0x484]
000072  f42545fe          BIC      r5,r5,#0x7f00
000076  ea452202          ORR      r2,r5,r2,LSL #8
;;;256            break;
00007a  e005              B        |L13.136|
;;;257        case 6ul:
;;;258            pdma->REQSEL4_7 = (pdma->REQSEL4_7 & ~PDMA_REQSEL4_7_REQSRC6_Msk) | (u32Peripheral << PDMA_REQSEL4_7_REQSRC6_Pos);
00007c  f8d05484          LDR      r5,[r0,#0x484]
000080  f42505fe          BIC      r5,r5,#0x7f0000
000084  ea454202          ORR      r2,r5,r2,LSL #16
                  |L13.136|
000088  f8c02484          STR      r2,[r0,#0x484]        ;255
00008c  e03c              B        |L13.264|
;;;259            break;
;;;260        case 7ul:
;;;261            pdma->REQSEL4_7 = (pdma->REQSEL4_7 & ~PDMA_REQSEL4_7_REQSRC7_Msk) | (u32Peripheral << PDMA_REQSEL4_7_REQSRC7_Pos);
00008e  f8d05484          LDR      r5,[r0,#0x484]
000092  f02545fe          BIC      r5,r5,#0x7f000000
000096  ea456202          ORR      r2,r5,r2,LSL #24
;;;262            break;
00009a  e7f5              B        |L13.136|
;;;263        case 8ul:
;;;264            pdma->REQSEL8_11 = (pdma->REQSEL8_11 & ~PDMA_REQSEL8_11_REQSRC8_Msk) | u32Peripheral;
00009c  f8d05488          LDR      r5,[r0,#0x488]
0000a0  f025057f          BIC      r5,r5,#0x7f
0000a4  4315              ORRS     r5,r5,r2
0000a6  f8c05488          STR      r5,[r0,#0x488]
;;;265            break;
0000aa  e02d              B        |L13.264|
;;;266        case 9ul:
;;;267            pdma->REQSEL8_11 = (pdma->REQSEL8_11 & ~PDMA_REQSEL8_11_REQSRC9_Msk) | (u32Peripheral << PDMA_REQSEL8_11_REQSRC9_Pos);
0000ac  f8d05488          LDR      r5,[r0,#0x488]
0000b0  f42545fe          BIC      r5,r5,#0x7f00
0000b4  ea452202          ORR      r2,r5,r2,LSL #8
;;;268            break;
0000b8  e005              B        |L13.198|
;;;269        case 10ul:
;;;270            pdma->REQSEL8_11 = (pdma->REQSEL8_11 & ~PDMA_REQSEL8_11_REQSRC10_Msk) | (u32Peripheral << PDMA_REQSEL8_11_REQSRC10_Pos);
0000ba  f8d05488          LDR      r5,[r0,#0x488]
0000be  f42505fe          BIC      r5,r5,#0x7f0000
0000c2  ea454202          ORR      r2,r5,r2,LSL #16
                  |L13.198|
0000c6  f8c02488          STR      r2,[r0,#0x488]        ;267
0000ca  e01d              B        |L13.264|
;;;271            break;
;;;272        case 11ul:
;;;273            pdma->REQSEL8_11 = (pdma->REQSEL8_11 & ~PDMA_REQSEL8_11_REQSRC11_Msk) | (u32Peripheral << PDMA_REQSEL8_11_REQSRC11_Pos);
0000cc  f8d05488          LDR      r5,[r0,#0x488]
0000d0  f02545fe          BIC      r5,r5,#0x7f000000
0000d4  ea456202          ORR      r2,r5,r2,LSL #24
;;;274            break;
0000d8  e7f5              B        |L13.198|
;;;275        case 12ul:
;;;276            pdma->REQSEL12_15 = (pdma->REQSEL12_15 & ~PDMA_REQSEL12_15_REQSRC12_Msk) | u32Peripheral;
0000da  f8d0548c          LDR      r5,[r0,#0x48c]
0000de  f025057f          BIC      r5,r5,#0x7f
0000e2  4315              ORRS     r5,r5,r2
0000e4  f8c0548c          STR      r5,[r0,#0x48c]
;;;277            break;
0000e8  e00e              B        |L13.264|
;;;278        case 13ul:
;;;279            pdma->REQSEL12_15 = (pdma->REQSEL12_15 & ~PDMA_REQSEL12_15_REQSRC13_Msk) | (u32Peripheral << PDMA_REQSEL12_15_REQSRC13_Pos);
0000ea  f8d0548c          LDR      r5,[r0,#0x48c]
0000ee  f42545fe          BIC      r5,r5,#0x7f00
0000f2  ea452202          ORR      r2,r5,r2,LSL #8
;;;280            break;
0000f6  e005              B        |L13.260|
;;;281        case 14ul:
;;;282            pdma->REQSEL12_15 = (pdma->REQSEL12_15 & ~PDMA_REQSEL12_15_REQSRC14_Msk) | (u32Peripheral << PDMA_REQSEL12_15_REQSRC14_Pos);
0000f8  f8d0548c          LDR      r5,[r0,#0x48c]
0000fc  f42505fe          BIC      r5,r5,#0x7f0000
000100  ea454202          ORR      r2,r5,r2,LSL #16
                  |L13.260|
000104  f8c0248c          STR      r2,[r0,#0x48c]        ;279
                  |L13.264|
;;;283            break;
;;;284        case 15ul:
;;;285            pdma->REQSEL12_15 = (pdma->REQSEL12_15 & ~PDMA_REQSEL12_15_REQSRC15_Msk) | (u32Peripheral << PDMA_REQSEL12_15_REQSRC15_Pos);
;;;286            break;
;;;287        default:
;;;288            break;
;;;289        }
;;;290    
;;;291        if(u32ScatterEn)
;;;292        {
;;;293            pdma->DSCT[u32Ch].CTL = (pdma->DSCT[u32Ch].CTL & ~PDMA_DSCT_CTL_OPMODE_Msk) | PDMA_OP_SCATTER;
000108  eb001001          ADD      r0,r0,r1,LSL #4
;;;294            pdma->DSCT[u32Ch].NEXT = u32DescAddr - (PDMA->SCATBA);
;;;295        }
;;;296        else
;;;297        {
;;;298            pdma->DSCT[u32Ch].CTL = (pdma->DSCT[u32Ch].CTL & ~PDMA_DSCT_CTL_OPMODE_Msk) | PDMA_OP_BASIC;
00010c  6801              LDR      r1,[r0,#0]
00010e  f0210103          BIC      r1,r1,#3
000112  b16b              CBZ      r3,|L13.304|
000114  1c89              ADDS     r1,r1,#2              ;291
000116  6001              STR      r1,[r0,#0]            ;293
000118  4908              LDR      r1,|L13.316|
00011a  6809              LDR      r1,[r1,#0]            ;294
00011c  1a61              SUBS     r1,r4,r1              ;294
00011e  60c1              STR      r1,[r0,#0xc]          ;294
;;;299        }
;;;300    }
000120  bd30              POP      {r4,r5,pc}
000122  f8d0548c          LDR      r5,[r0,#0x48c]        ;285
000126  f02545fe          BIC      r5,r5,#0x7f000000     ;285
00012a  ea456202          ORR      r2,r5,r2,LSL #24      ;285
00012e  e7e9              B        |L13.260|
                  |L13.304|
000130  1c49              ADDS     r1,r1,#1              ;286
000132  6001              STR      r1,[r0,#0]            ;298
000134  bd30              POP      {r4,r5,pc}
;;;301    
                          ENDP

000136  0000              DCW      0x0000
                  |L13.312|
                          DCD      ||.bss||
                  |L13.316|
                          DCD      0x4000843c

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

                  PDMA_Trigger PROC
;;;404     */
;;;405    void PDMA_Trigger(PDMA_T * pdma,uint32_t u32Ch)
000000  4a04              LDR      r2,|L14.20|
;;;406    {
;;;407        if(u32ChSelect[u32Ch] == PDMA_MEM)
000002  5c52              LDRB     r2,[r2,r1]
000004  2a00              CMP      r2,#0                 ;406
000006  d103              BNE      |L14.16|
;;;408        {
;;;409            pdma->SWREQ = (1ul << u32Ch);
000008  2201              MOVS     r2,#1
00000a  408a              LSLS     r2,r2,r1
00000c  f8c02408          STR      r2,[r0,#0x408]
                  |L14.16|
;;;410        }
;;;411        else {}
;;;412    }
000010  4770              BX       lr
;;;413    
                          ENDP

000012  0000              DCW      0x0000
                  |L14.20|
                          DCD      ||.bss||

                          AREA ||.bss||, DATA, NOINIT, ALIGN=0

                  u32ChSelect
                          %        16

;*** Start embedded assembler ***

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

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

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

 rrx r0, r0
 bx lr
	ENDP

;*** End   embedded assembler ***
