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

📄 usb_int.txt

📁 stm32.rar
💻 TXT
📖 第 1 页 / 共 2 页
字号:
;;;147      }/* while(...) */
;;;148    }
0000bc  e8bd9ff0          POP      {r4-r12,pc}
                  |L1.192|
0000c0  0501              LSLS     r1,r0,#20             ;99
0000c2  d509              BPL      |L1.216|
0000c4  f8d40c00          LDR      r0,[r4,#0xc00]        ;101
0000c8  b280              UXTH     r0,r0                 ;101
0000ca  ea00000a          AND      r0,r0,r10             ;101
0000ce  f8c40c00          STR      r0,[r4,#0xc00]        ;101
0000d2  f7fffffe          BL       Setup0_Process
0000d6  e00a              B        |L1.238|
                  |L1.216|
0000d8  0400              LSLS     r0,r0,#16             ;109
0000da  d53d              BPL      |L1.344|
0000dc  f8d40c00          LDR      r0,[r4,#0xc00]        ;111
0000e0  b280              UXTH     r0,r0                 ;111
0000e2  ea00000a          AND      r0,r0,r10             ;111
0000e6  f8c40c00          STR      r0,[r4,#0xc00]        ;111
0000ea  f7fffffe          BL       Out0_Process
                  |L1.238|
0000ee  f8d40c00          LDR      r0,[r4,#0xc00]        ;114
0000f2  f8b81000          LDRH     r1,[r8,#0]            ;114  ; SaveRState
0000f6  b280              UXTH     r0,r0                 ;114
0000f8  4030              ANDS     r0,r0,r6              ;114
0000fa  04ca              LSLS     r2,r1,#19             ;114
0000fc  d5ca              BPL      |L1.148|
0000fe  f4805080          EOR      r0,r0,#0x1000         ;114
000102  e7c7              B        |L1.148|
                  |L1.260|
000104  f0800010          EOR      r0,r0,#0x10           ;115
000108  e7d2              B        |L1.176|
                  |L1.266|
00010a  eb040180          ADD      r1,r4,r0,LSL #2       ;125
00010e  f8d12c00          LDR      r2,[r1,#0xc00]        ;125
000112  b295              UXTH     r5,r2                 ;125
000114  042a              LSLS     r2,r5,#16             ;126
000116  d50c              BPL      |L1.306|
000118  f8d12c00          LDR      r2,[r1,#0xc00]        ;129
00011c  b292              UXTH     r2,r2                 ;129
00011e  ea02020a          AND      r2,r2,r10             ;129
000122  f8c12c00          STR      r2,[r1,#0xc00]        ;129
000126  4913              LDR      r1,|L1.372|
000128  eb010080          ADD      r0,r1,r0,LSL #2       ;132
00012c  f8500c04          LDR      r0,[r0,#-4]           ;132
000130  4780              BLX      r0                    ;132
                  |L1.306|
000132  0628              LSLS     r0,r5,#24             ;136
000134  d510              BPL      |L1.344|
000136  f8990000          LDRB     r0,[r9,#0]            ;139  ; EPindex
00013a  eb040180          ADD      r1,r4,r0,LSL #2       ;139
00013e  f8d12c00          LDR      r2,[r1,#0xc00]        ;139
000142  b292              UXTH     r2,r2                 ;139
000144  ea02020b          AND      r2,r2,r11             ;139
000148  f8c12c00          STR      r2,[r1,#0xc00]        ;139
00014c  490a              LDR      r1,|L1.376|
00014e  eb010080          ADD      r0,r1,r0,LSL #2       ;142
000152  f8500c04          LDR      r0,[r0,#-4]           ;142
000156  4780              BLX      r0                    ;142
                  |L1.344|
000158  f8d40c44          LDR      r0,[r4,#0xc44]        ;45
00015c  4907              LDR      r1,|L1.380|
00015e  8008              STRH     r0,[r1,#0]            ;45  ; wIstr
000160  0400              LSLS     r0,r0,#16             ;45
000162  f53faf5d          BMI      |L1.32|
000166  e7a9              B        |L1.188|
;;;149    
                          ENDP

                  |L1.360|
000168  00000000          DCD      ||.data||
                  |L1.364|
00016c  00000000          DCD      EPindex
                  |L1.368|
000170  40005000          DCD      0x40005000
                  |L1.372|
000174  00000000          DCD      pEpInt_OUT
                  |L1.376|
000178  00000000          DCD      pEpInt_IN
                  |L1.380|
00017c  00000000          DCD      wIstr

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

                  CTR_HP PROC
;;;158    void CTR_HP(void)
;;;159    {
000000  b570              PUSH     {r4-r6,lr}
000002  4c1a              LDR      r4,|L2.108|
000004  4d1a              LDR      r5,|L2.112|
000006  4e1b              LDR      r6,|L2.116|
;;;160      u32 wEPVal = 0;
;;;161    
;;;162      while (((wIstr = _GetISTR()) & ISTR_CTR) != 0)
000008  e02a              B        |L2.96|
;;;163      {
;;;164        _SetISTR((u16)CLR_CTR); /* clear CTR flag */
00000a  bf00              NOP      
                  |L2.12|
00000c  f64770ff          MOV      r0,#0x7fff
000010  f8c50c44          STR      r0,[r5,#0xc44]
;;;165        /* extract highest priority endpoint number */
;;;166        EPindex = (u8)(wIstr & ISTR_EP_ID);
000014  8830              LDRH     r0,[r6,#0]  ; wIstr
000016  f000000f          AND      r0,r0,#0xf
00001a  7020              STRB     r0,[r4,#0]  ; EPindex
;;;167        /* process related endpoint register */
;;;168        wEPVal = _GetENDPOINT(EPindex);
00001c  b2c1              UXTB     r1,r0
00001e  eb050081          ADD      r0,r5,r1,LSL #2
000022  f8d02c00          LDR      r2,[r0,#0xc00]
000026  b292              UXTH     r2,r2
;;;169        if ((wEPVal & EP_CTR_RX) != 0)
000028  0413              LSLS     r3,r2,#16
00002a  d509              BPL      |L2.64|
;;;170        {
;;;171          /* clear int flag */
;;;172          _ClearEP_CTR_RX(EPindex);
00002c  f8d02c00          LDR      r2,[r0,#0xc00]
000030  f640738f          MOV      r3,#0xf8f
000034  b292              UXTH     r2,r2
000036  401a              ANDS     r2,r2,r3
000038  f8c02c00          STR      r2,[r0,#0xc00]
;;;173    
;;;174          /* call OUT service function */
;;;175          (*pEpInt_OUT[EPindex-1])();
00003c  480e              LDR      r0,|L2.120|
00003e  e00a              B        |L2.86|
                  |L2.64|
;;;176    
;;;177        } /* if((wEPVal & EP_CTR_RX) */
;;;178        else if ((wEPVal & EP_CTR_TX) != 0)
000040  0612              LSLS     r2,r2,#24
000042  d50d              BPL      |L2.96|
;;;179        {
;;;180          /* clear int flag */
;;;181          _ClearEP_CTR_TX(EPindex);
000044  f8d02c00          LDR      r2,[r0,#0xc00]
000048  f648730f          MOV      r3,#0x8f0f
00004c  b292              UXTH     r2,r2
00004e  401a              ANDS     r2,r2,r3
000050  f8c02c00          STR      r2,[r0,#0xc00]
;;;182    
;;;183          /* call IN service function */
;;;184          (*pEpInt_IN[EPindex-1])();
000054  4809              LDR      r0,|L2.124|
                  |L2.86|
000056  eb000081          ADD      r0,r0,r1,LSL #2
00005a  f8500c04          LDR      r0,[r0,#-4]
00005e  4780              BLX      r0
                  |L2.96|
000060  f8d50c44          LDR      r0,[r5,#0xc44]        ;162
000064  8030              STRH     r0,[r6,#0]            ;162  ; wIstr
000066  0400              LSLS     r0,r0,#16             ;162
000068  d4d0              BMI      |L2.12|
;;;185    
;;;186    
;;;187        } /* if((wEPVal & EP_CTR_TX) != 0) */
;;;188    
;;;189      }/* while(...) */
;;;190    }
00006a  bd70              POP      {r4-r6,pc}
;;;191    
                          ENDP

                  |L2.108|
00006c  00000000          DCD      EPindex
                  |L2.112|
000070  40005000          DCD      0x40005000
                  |L2.116|
000074  00000000          DCD      wIstr
                  |L2.120|
000078  00000000          DCD      pEpInt_OUT
                  |L2.124|
00007c  00000000          DCD      pEpInt_IN

                          AREA ||.data||, DATA, ALIGN=1

                  SaveRState
000000  0000              DCB      0x00,0x00
                  SaveTState
000002  0000              DCB      0x00,0x00

⌨️ 快捷键说明

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