⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usb_regs.txt

📁 MP3_PLAYER.rar
💻 TXT
📖 第 1 页 / 共 4 页
字号:
                  |L50.24|
000018  40005c50          DCD      0x40005c50
                  |L50.28|
00001c  40006000          DCD      0x40006000

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

                  SetEPDblBuffCount PROC
;;;630    void SetEPDblBuffCount(u8 bEpNum, u8 bDir, u16 wCount)
;;;631    {
000000  e92d41f0          PUSH     {r4-r8,lr}
000004  f8dfe09c          LDR      lr,|L51.164|
;;;632      _SetEPDblBuffCount(bEpNum, bDir, wCount);
000008  2901              CMP      r1,#1
00000a  d12f              BNE      |L51.108|
00000c  f8de3c50          LDR      r3,[lr,#0xc50]
000010  4925              LDR      r1,|L51.168|
000012  b29b              UXTH     r3,r3
000014  eb0303c0          ADD      r3,r3,r0,LSL #3
000018  eb010743          ADD      r7,r1,r3,LSL #1
00001c  0953              LSRS     r3,r2,#5
00001e  0851              LSRS     r1,r2,#1
000020  1e5e              SUBS     r6,r3,#1
000022  1c4c              ADDS     r4,r1,#1
000024  f44f4c00          MOV      r12,#0x8000
000028  2a3e              CMP      r2,#0x3e
00002a  d907              BLS      |L51.60|
00002c  461d              MOV      r5,r3
00002e  ea5f68c2          LSLS     r8,r2,#27
000032  d100              BNE      |L51.54|
000034  b2b5              UXTH     r5,r6
                  |L51.54|
000036  ea4c2585          ORR      r5,r12,r5,LSL #10
00003a  e005              B        |L51.72|
                  |L51.60|
00003c  460d              MOV      r5,r1
00003e  ea5f78c2          LSLS     r8,r2,#31
000042  d000              BEQ      |L51.70|
000044  b2a5              UXTH     r5,r4
                  |L51.70|
000046  02ad              LSLS     r5,r5,#10
                  |L51.72|
000048  603d              STR      r5,[r7,#0]
00004a  f8de7c50          LDR      r7,[lr,#0xc50]
00004e  4d16              LDR      r5,|L51.168|
000050  b2bf              UXTH     r7,r7
000052  3508              ADDS     r5,r5,#8
000054  eb0700c0          ADD      r0,r7,r0,LSL #3
000058  eb050040          ADD      r0,r5,r0,LSL #1
00005c  2a3e              CMP      r2,#0x3e
00005e  d91b              BLS      |L51.152|
000060  06d1              LSLS     r1,r2,#27
000062  d100              BNE      |L51.102|
000064  b2b3              UXTH     r3,r6
                  |L51.102|
000066  ea4c2183          ORR      r1,r12,r3,LSL #10
00006a  e019              B        |L51.160|
                  |L51.108|
00006c  2902              CMP      r1,#2
00006e  d111              BNE      |L51.148|
000070  f8de3c50          LDR      r3,[lr,#0xc50]
000074  490c              LDR      r1,|L51.168|
000076  b29b              UXTH     r3,r3
000078  1f09              SUBS     r1,r1,#4
00007a  eb0303c0          ADD      r3,r3,r0,LSL #3
00007e  eb010343          ADD      r3,r1,r3,LSL #1
000082  605a              STR      r2,[r3,#4]
000084  f8de3c50          LDR      r3,[lr,#0xc50]
000088  b29b              UXTH     r3,r3
00008a  eb0300c0          ADD      r0,r3,r0,LSL #3
00008e  eb010040          ADD      r0,r1,r0,LSL #1
000092  60c2              STR      r2,[r0,#0xc]
                  |L51.148|
;;;633    }
000094  e8bd81f0          POP      {r4-r8,pc}
                  |L51.152|
000098  07d2              LSLS     r2,r2,#31             ;632
00009a  d000              BEQ      |L51.158|
00009c  b2a1              UXTH     r1,r4                 ;632
                  |L51.158|
00009e  0289              LSLS     r1,r1,#10             ;632
                  |L51.160|
0000a0  6001              STR      r1,[r0,#0]            ;632
0000a2  e7f7              B        |L51.148|
;;;634    /*******************************************************************************
                          ENDP

                  |L51.164|
0000a4  40005000          DCD      0x40005000
                  |L51.168|
0000a8  40006004          DCD      0x40006004

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

                  SetEPDblBuf0Count PROC
;;;642    void SetEPDblBuf0Count(u8 bEpNum, u8 bDir, u16 wCount)
;;;643    {
000000  4b15              LDR      r3,|L52.88|
;;;644      _SetEPDblBuf0Count(bEpNum, bDir, wCount);
000002  2901              CMP      r1,#1
000004  d11b              BNE      |L52.62|
000006  f8d31c50          LDR      r1,[r3,#0xc50]
00000a  4b14              LDR      r3,|L52.92|
00000c  b289              UXTH     r1,r1
00000e  eb0100c0          ADD      r0,r1,r0,LSL #3
000012  eb030140          ADD      r1,r3,r0,LSL #1
000016  2a3e              CMP      r2,#0x3e
000018  d909              BLS      |L52.46|
00001a  0950              LSRS     r0,r2,#5
00001c  06d2              LSLS     r2,r2,#27
00001e  d101              BNE      |L52.36|
000020  1e40              SUBS     r0,r0,#1
000022  b280              UXTH     r0,r0
                  |L52.36|
000024  f44f4200          MOV      r2,#0x8000
000028  ea422080          ORR      r0,r2,r0,LSL #10
00002c  e005              B        |L52.58|
                  |L52.46|
00002e  0850              LSRS     r0,r2,#1
000030  07d2              LSLS     r2,r2,#31
000032  d001              BEQ      |L52.56|
000034  1c40              ADDS     r0,r0,#1
000036  b280              UXTH     r0,r0
                  |L52.56|
000038  0280              LSLS     r0,r0,#10
                  |L52.58|
00003a  6008              STR      r0,[r1,#0]
                  |L52.60|
;;;645    }
00003c  4770              BX       lr
                  |L52.62|
00003e  2902              CMP      r1,#2                 ;644
000040  d1fc              BNE      |L52.60|
000042  f8d31c50          LDR      r1,[r3,#0xc50]        ;644
000046  4b05              LDR      r3,|L52.92|
000048  b289              UXTH     r1,r1                 ;644
00004a  1f1b              SUBS     r3,r3,#4              ;644
00004c  eb0100c0          ADD      r0,r1,r0,LSL #3       ;644
000050  eb030040          ADD      r0,r3,r0,LSL #1       ;644
000054  6042              STR      r2,[r0,#4]            ;644
000056  4770              BX       lr
;;;646    /*******************************************************************************
                          ENDP

                  |L52.88|
000058  40005000          DCD      0x40005000
                  |L52.92|
00005c  40006004          DCD      0x40006004

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

                  SetEPDblBuf1Count PROC
;;;654    void SetEPDblBuf1Count(u8 bEpNum, u8 bDir, u16 wCount)
;;;655    {
000000  4b15              LDR      r3,|L53.88|
;;;656      _SetEPDblBuf1Count(bEpNum, bDir, wCount);
000002  2901              CMP      r1,#1
000004  d11b              BNE      |L53.62|
000006  f8d31c50          LDR      r1,[r3,#0xc50]
00000a  4b14              LDR      r3,|L53.92|
00000c  b289              UXTH     r1,r1
00000e  eb0100c0          ADD      r0,r1,r0,LSL #3
000012  eb030140          ADD      r1,r3,r0,LSL #1
000016  2a3e              CMP      r2,#0x3e
000018  d909              BLS      |L53.46|
00001a  0950              LSRS     r0,r2,#5
00001c  06d2              LSLS     r2,r2,#27
00001e  d101              BNE      |L53.36|
000020  1e40              SUBS     r0,r0,#1
000022  b280              UXTH     r0,r0
                  |L53.36|
000024  f44f4200          MOV      r2,#0x8000
000028  ea422080          ORR      r0,r2,r0,LSL #10
00002c  e005              B        |L53.58|
                  |L53.46|
00002e  0850              LSRS     r0,r2,#1
000030  07d2              LSLS     r2,r2,#31
000032  d001              BEQ      |L53.56|
000034  1c40              ADDS     r0,r0,#1
000036  b280              UXTH     r0,r0
                  |L53.56|
000038  0280              LSLS     r0,r0,#10
                  |L53.58|
00003a  6008              STR      r0,[r1,#0]
                  |L53.60|
;;;657    }
00003c  4770              BX       lr
                  |L53.62|
00003e  2902              CMP      r1,#2                 ;656
000040  d1fc              BNE      |L53.60|
000042  f8d31c50          LDR      r1,[r3,#0xc50]        ;656
000046  4b05              LDR      r3,|L53.92|
000048  b289              UXTH     r1,r1                 ;656
00004a  3b0c              SUBS     r3,r3,#0xc            ;656
00004c  eb0100c0          ADD      r0,r1,r0,LSL #3       ;656
000050  eb030040          ADD      r0,r3,r0,LSL #1       ;656
000054  60c2              STR      r2,[r0,#0xc]          ;656
000056  4770              BX       lr
;;;658    /*******************************************************************************
                          ENDP

                  |L53.88|
000058  40005000          DCD      0x40005000
                  |L53.92|
00005c  4000600c          DCD      0x4000600c

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

                  GetEPDblBuf0Count PROC
;;;666    u16 GetEPDblBuf0Count(u8 bEpNum)
;;;667    {
000000  4905              LDR      r1,|L54.24|
;;;668      return(_GetEPDblBuf0Count(bEpNum));
000002  6809              LDR      r1,[r1,#0]
000004  b289              UXTH     r1,r1
000006  eb0100c0          ADD      r0,r1,r0,LSL #3
00000a  4904              LDR      r1,|L54.28|
00000c  eb010040          ADD      r0,r1,r0,LSL #1
000010  6840              LDR      r0,[r0,#4]
000012  f3c00009          UBFX     r0,r0,#0,#10
;;;669    }
000016  4770              BX       lr
;;;670    /*******************************************************************************
                          ENDP

                  |L54.24|
000018  40005c50          DCD      0x40005c50
                  |L54.28|
00001c  40006000          DCD      0x40006000

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

                  GetEPDblBuf1Count PROC
;;;678    u16 GetEPDblBuf1Count(u8 bEpNum)
;;;679    {
000000  4905              LDR      r1,|L55.24|
;;;680      return(_GetEPDblBuf1Count(bEpNum));
000002  6809              LDR      r1,[r1,#0]
000004  b289              UXTH     r1,r1
000006  eb0100c0          ADD      r0,r1,r0,LSL #3
00000a  4904              LDR      r1,|L55.28|
00000c  eb010040          ADD      r0,r1,r0,LSL #1
000010  68c0              LDR      r0,[r0,#0xc]
000012  f3c00009          UBFX     r0,r0,#0,#10
;;;681    }
000016  4770              BX       lr
;;;682    /*******************************************************************************
                          ENDP

                  |L55.24|
000018  40005c50          DCD      0x40005c50
                  |L55.28|
00001c  40006000          DCD      0x40006000

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

                  GetEPDblBufDir PROC
;;;691    {
;;;692      if ((u16)(*_pEPRxCount(bEpNum) & 0xFC00) != 0)
000000  4a0d              LDR      r2,|L56.56|
000002  f8d23c50          LDR      r3,[r2,#0xc50]
000006  490d              LDR      r1,|L56.60|
000008  b29b              UXTH     r3,r3
00000a  eb0303c0          ADD      r3,r3,r0,LSL #3
00000e  eb010343          ADD      r3,r1,r3,LSL #1
000012  68db              LDR      r3,[r3,#0xc]
000014  f4134f7c          TST      r3,#0xfc00
000018  d001              BEQ      |L56.30|
;;;693        return(EP_DBUF_OUT);
00001a  2001              MOVS     r0,#1
                  |L56.28|
;;;694      else if (((u16)(*_pEPTxCount(bEpNum)) & 0x03FF) != 0)
;;;695        return(EP_DBUF_IN);
;;;696      else
;;;697        return(EP_DBUF_ERR);
;;;698    }
00001c  4770              BX       lr
                  |L56.30|
00001e  f8d22c50          LDR      r2,[r2,#0xc50]        ;694
000022  b292              UXTH     r2,r2                 ;694
000024  eb0200c0          ADD      r0,r2,r0,LSL #3       ;694
000028  eb010040          ADD      r0,r1,r0,LSL #1       ;694
00002c  6840              LDR      r0,[r0,#4]            ;694
00002e  0580              LSLS     r0,r0,#22             ;694
000030  d0f4              BEQ      |L56.28|
000032  2002              MOVS     r0,#2                 ;695
000034  4770              BX       lr
;;;699    /*******************************************************************************
                          ENDP

000036  0000              DCW      0x0000
                  |L56.56|
000038  40005000          DCD      0x40005000
                  |L56.60|
00003c  40006000          DCD      0x40006000

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

                  FreeUserBuffer PROC
;;;707    void FreeUserBuffer(u8 bEpNum, u8 bDir)
;;;708    {
000000  4b0c              LDR      r3,|L57.52|
000002  f648728f          MOV      r2,#0x8f8f
000006  eb030080          ADD      r0,r3,r0,LSL #2
;;;709      if (bDir == EP_DBUF_OUT)
00000a  2901              CMP      r1,#1
00000c  d106              BNE      |L57.28|
;;;710      { /* OUT double buffered endpoint */
;;;711        _ToggleDTOG_TX(bEpNum);
00000e  f8d01c00          LDR      r1,[r0,#0xc00]
000012  b289              UXTH     r1,r1
000014  4011              ANDS     r1,r1,r2
000016  f0410140          ORR      r1,r1,#0x40
00001a  e007              B        |L57.44|
                  |L57.28|
;;;712      }
;;;713      else if (bDir == EP_DBUF_IN)
00001c  2902              CMP      r1,#2
00001e  d107              BNE      |L57.48|
;;;714      { /* IN double buffered endpoint */
;;;715        _ToggleDTOG_RX(bEpNum);
000020  f8d01c00          LDR      r1,[r0,#0xc00]
000024  b289              UXTH     r1,r1
000026  4011              ANDS     r1,r1,r2
000028  f4414180          ORR      r1,r1,#0x4000
                  |L57.44|
00002c  f8c01c00          STR      r1,[r0,#0xc00]        ;711
                  |L57.48|
;;;716      }
;;;717    }
000030  4770              BX       lr
;;;718    
                          ENDP

000032  0000              DCW      0x0000
                  |L57.52|
000034  40005000          DCD      0x40005000

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

                  ToWord PROC
;;;728      u16 wRet;
;;;729      wRet = (u16)bl | ((u16)bh << 8);
000000  ea412000          ORR      r0,r1,r0,LSL #8
;;;730      return(wRet);
;;;731    }
000004  4770              BX       lr
;;;732    /*******************************************************************************
                          ENDP


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

                  ByteSwap PROC
;;;742      u16 wRet;
;;;743      bTemp = (u8)(wSwW & 0xff);
000000  b2c1              UXTB     r1,r0
;;;744      wRet =  (wSwW >> 8) | ((u16)bTemp << 8);
000002  0a00              LSRS     r0,r0,#8
000004  ea402001          ORR      r0,r0,r1,LSL #8
;;;745      return(wRet);
;;;746    }
000008  4770              BX       lr
;;;747    
                          ENDP

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -