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

📄 usb_regs.txt

📁 STM32F103ZET6+UCOSII+UCGUI源码
💻 TXT
📖 第 1 页 / 共 5 页
字号:

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

                  GetFNR PROC
;;;81     *******************************************************************************/
;;;82     u16 GetFNR(void)
000000  4801              LDR      r0,|L27.8|
;;;83     {
;;;84       return(_GetFNR());
000002  6800              LDR      r0,[r0,#0]
000004  b280              UXTH     r0,r0
;;;85     }
000006  4770              BX       lr
;;;86     
                          ENDP

                  |L27.8|
                          DCD      0x40005c48

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

                  GetISTR PROC
;;;69     *******************************************************************************/
;;;70     u16 GetISTR(void)
000000  4801              LDR      r0,|L28.8|
;;;71     {
;;;72       return(_GetISTR());
000002  6800              LDR      r0,[r0,#0]
000004  b280              UXTH     r0,r0
;;;73     }
000006  4770              BX       lr
;;;74     
                          ENDP

                  |L28.8|
                          DCD      0x40005c44

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

                  GetRxStallStatus PROC
;;;365    *******************************************************************************/
;;;366    u16 GetRxStallStatus(u8 bEpNum)
000000  4905              LDR      r1,|L29.24|
;;;367    {
;;;368      return(_GetRxStallStatus(bEpNum));
000002  eb010080          ADD      r0,r1,r0,LSL #2
000006  f8d00c00          LDR      r0,[r0,#0xc00]
00000a  f3c03001          UBFX     r0,r0,#12,#2
00000e  2801              CMP      r0,#1
000010  d000              BEQ      |L29.20|
000012  2000              MOVS     r0,#0
                  |L29.20|
;;;369    }
000014  4770              BX       lr
;;;370    /*******************************************************************************
                          ENDP

000016  0000              DCW      0x0000
                  |L29.24|
                          DCD      0x40005000

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

                  GetTxStallStatus PROC
;;;354    *******************************************************************************/
;;;355    u16 GetTxStallStatus(u8 bEpNum)
000000  4905              LDR      r1,|L30.24|
;;;356    {
;;;357      return(_GetTxStallStatus(bEpNum));
000002  eb010080          ADD      r0,r1,r0,LSL #2
000006  f8d00c00          LDR      r0,[r0,#0xc00]
00000a  f3c01001          UBFX     r0,r0,#4,#2
00000e  2801              CMP      r0,#1
000010  d000              BEQ      |L30.20|
000012  2000              MOVS     r0,#0
                  |L30.20|
;;;358    }
000014  4770              BX       lr
;;;359    /*******************************************************************************
                          ENDP

000016  0000              DCW      0x0000
                  |L30.24|
                          DCD      0x40005000

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

                  SetBTABLE PROC
;;;117    *******************************************************************************/
;;;118    void SetBTABLE(u16 wRegValue)
000000  4902              LDR      r1,|L31.12|
;;;119    {
;;;120      _SetBTABLE(wRegValue);
000002  f0200007          BIC      r0,r0,#7
000006  6008              STR      r0,[r1,#0]
;;;121    }
000008  4770              BX       lr
;;;122    
                          ENDP

00000a  0000              DCW      0x0000
                  |L31.12|
                          DCD      0x40005c50

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

                  SetCNTR PROC
;;;33     *******************************************************************************/
;;;34     void SetCNTR(u16 wRegValue)
000000  4901              LDR      r1,|L32.8|
;;;35     {
;;;36       _SetCNTR(wRegValue);
000002  6008              STR      r0,[r1,#0]
;;;37     }
000004  4770              BX       lr
;;;38     
                          ENDP

000006  0000              DCW      0x0000
                  |L32.8|
                          DCD      0x40005c40

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

                  SetDADDR PROC
;;;93     *******************************************************************************/
;;;94     void SetDADDR(u16 wRegValue)
000000  4901              LDR      r1,|L33.8|
;;;95     {
;;;96       _SetDADDR(wRegValue);
000002  6008              STR      r0,[r1,#0]
;;;97     }
000004  4770              BX       lr
;;;98     
                          ENDP

000006  0000              DCW      0x0000
                  |L33.8|
                          DCD      0x40005c4c

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

                  SetDouBleBuffEPStall PROC
;;;218    *******************************************************************************/
;;;219    void SetDouBleBuffEPStall(u8 bEpNum, u8 bDir)
000000  b500              PUSH     {lr}
;;;220    {
000002  4603              MOV      r3,r0
000004  460a              MOV      r2,r1
;;;221      u16 Endpoint_DTOG_Status;
;;;222      Endpoint_DTOG_Status = GetENDPOINT(bEpNum);
000006  f7fffffe          BL       GetENDPOINT
;;;223      if (bDir == EP_DBUF_OUT)
;;;224      { /* OUT double buffered endpoint */
;;;225        _SetENDPOINT(bEpNum, Endpoint_DTOG_Status & ~EPRX_DTOG1);
00000a  4907              LDR      r1,|L34.40|
00000c  2a01              CMP      r2,#1                 ;223
00000e  eb010183          ADD      r1,r1,r3,LSL #2
000012  d102              BNE      |L34.26|
000014  f4205080          BIC      r0,r0,#0x1000
000018  e003              B        |L34.34|
                  |L34.26|
;;;226      }
;;;227      else if (bDir == EP_DBUF_IN)
00001a  2a02              CMP      r2,#2
00001c  d103              BNE      |L34.38|
;;;228      { /* IN double buffered endpoint */
;;;229        _SetENDPOINT(bEpNum, Endpoint_DTOG_Status & ~EPTX_DTOG1);
00001e  f0200010          BIC      r0,r0,#0x10
                  |L34.34|
000022  f8c10c00          STR      r0,[r1,#0xc00]        ;225
                  |L34.38|
;;;230      }
;;;231    }
000026  bd00              POP      {pc}
;;;232    
                          ENDP

                  |L34.40|
                          DCD      0x40005000

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

                  SetENDPOINT PROC
;;;142    *******************************************************************************/
;;;143    void SetENDPOINT(u8 bEpNum, u16 wRegValue)
000000  4a02              LDR      r2,|L35.12|
;;;144    {
;;;145      _SetENDPOINT(bEpNum, wRegValue);
000002  eb020080          ADD      r0,r2,r0,LSL #2
000006  f8c01c00          STR      r1,[r0,#0xc00]
;;;146    }
00000a  4770              BX       lr
;;;147    
                          ENDP

                  |L35.12|
                          DCD      0x40005000

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

                  SetEPAddress PROC
;;;443    *******************************************************************************/
;;;444    void SetEPAddress(u8 bEpNum, u8 bAddr)
000000  4a06              LDR      r2,|L36.28|
;;;445    {
;;;446      _SetEPAddress(bEpNum, bAddr);
000002  eb020080          ADD      r0,r2,r0,LSL #2
000006  f8d02c00          LDR      r2,[r0,#0xc00]
00000a  f648738f          MOV      r3,#0x8f8f
00000e  b292              UXTH     r2,r2
000010  401a              ANDS     r2,r2,r3
000012  430a              ORRS     r2,r2,r1
000014  f8c02c00          STR      r2,[r0,#0xc00]
;;;447    }
000018  4770              BX       lr
;;;448    /*******************************************************************************
                          ENDP

00001a  0000              DCW      0x0000
                  |L36.28|
                          DCD      0x40005000

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

                  SetEPCountRxReg PROC
;;;524    *******************************************************************************/
;;;525    void SetEPCountRxReg(u32 *pdwReg, u16 wCount)
000000  293e              CMP      r1,#0x3e
;;;526    {
;;;527      _SetEPCountRxReg(dwReg, wCount);
000002  d909              BLS      |L37.24|
000004  094a              LSRS     r2,r1,#5
000006  06c9              LSLS     r1,r1,#27
000008  d101              BNE      |L37.14|
00000a  1e52              SUBS     r2,r2,#1
00000c  b292              UXTH     r2,r2
                  |L37.14|
00000e  f44f4100          MOV      r1,#0x8000
000012  ea412182          ORR      r1,r1,r2,LSL #10
000016  e005              B        |L37.36|
                  |L37.24|
000018  084a              LSRS     r2,r1,#1
00001a  07c9              LSLS     r1,r1,#31
00001c  d001              BEQ      |L37.34|
00001e  1c52              ADDS     r2,r2,#1
000020  b292              UXTH     r2,r2
                  |L37.34|
000022  0291              LSLS     r1,r2,#10
                  |L37.36|
000024  6001              STR      r1,[r0,#0]
;;;528    }
000026  4770              BX       lr
;;;529    /*******************************************************************************
                          ENDP


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

                  SetEPDblBuf0Addr PROC
;;;583    *******************************************************************************/
;;;584    void SetEPDblBuf0Addr(u8 bEpNum, u16 wBuf0Addr)
000000  4a05              LDR      r2,|L38.24|
;;;585    {
;;;586      _SetEPDblBuf0Addr(bEpNum, wBuf0Addr);
000002  f0210101          BIC      r1,r1,#1
000006  6813              LDR      r3,[r2,#0]
000008  4a04              LDR      r2,|L38.28|
00000a  b29b              UXTH     r3,r3
00000c  eb0300c0          ADD      r0,r3,r0,LSL #3
000010  f8421010          STR      r1,[r2,r0,LSL #1]
;;;587    }
000014  4770              BX       lr
;;;588    /*******************************************************************************
                          ENDP

000016  0000              DCW      0x0000
                  |L38.24|
                          DCD      0x40005c50
                  |L38.28|
                          DCD      0x40006000

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

                  SetEPDblBuf0Count PROC
;;;641    *******************************************************************************/
;;;642    void SetEPDblBuf0Count(u8 bEpNum, u8 bDir, u16 wCount)
000000  4b15              LDR      r3,|L39.88|
;;;643    {
;;;644      _SetEPDblBuf0Count(bEpNum, bDir, wCount);
000002  2901              CMP      r1,#1
000004  d11b              BNE      |L39.62|
000006  f8d31c50          LDR      r1,[r3,#0xc50]
00000a  4b14              LDR      r3,|L39.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      |L39.46|
00001a  0950              LSRS     r0,r2,#5
00001c  06d2              LSLS     r2,r2,#27
00001e  d101              BNE      |L39.36|
000020  1e40              SUBS     r0,r0,#1
000022  b280              UXTH     r0,r0
                  |L39.36|
000024  f44f4200          MOV      r2,#0x8000
000028  ea422080          ORR      r0,r2,r0,LSL #10
00002c  e005              B        |L39.58|
                  |L39.46|
00002e  0850              LSRS     r0,r2,#1
000030  07d2              LSLS     r2,r2,#31
000032  d001              BEQ      |L39.56|
000034  1c40              ADDS     r0,r0,#1
000036  b280              UXTH     r0,r0
                  |L39.56|

⌨️ 快捷键说明

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