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

📄 chap_9.lst

📁 PDIUSBD12 USB1.1 C51源代码
💻 LST
📖 第 1 页 / 共 4 页
字号:
 264   2      		ENABLE;
 265   2      	} else
 266   1      		stall_ep0();
 267   1      }
 268          
 269          void get_interface(void)
 270          {
 271   1      	unsigned char txdat = 0;        /* Only/Current interface = 0 */
 272   1      	single_transmit(&txdat, 1);
 273   1      }
 274          
 275          void set_interface(void)
 276          {
 277   1      	if (ControlData.DeviceRequest.wValue == 0 && ControlData.DeviceRequest.wIndex == 0)
 278   1      		single_transmit(0, 0);
 279   1      	else
 280   1      		stall_ep0();
 281   1      }
C51 COMPILER V4.01,  CHAP_9                                                                07/07/01  13:16:08  PAGE 6   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION reserved (BEGIN)
                                           ; SOURCE LINE # 124
                                           ; SOURCE LINE # 125
                                           ; SOURCE LINE # 126
0000 120000  E     LCALL   stall_ep0
                                           ; SOURCE LINE # 127
0003 22            RET     
             ; FUNCTION reserved (END)

             ; FUNCTION get_status (BEGIN)
                                           ; SOURCE LINE # 135
                                           ; SOURCE LINE # 136
                                           ; SOURCE LINE # 138
0000 E500    E     MOV     A,ControlData
0002 541F          ANL     A,#01FH
0004 F500    R     MOV     bRecipient,A
                                           ; SOURCE LINE # 141
0006 7023          JNZ     ?C0002
                                           ; SOURCE LINE # 142
0008 AF00    E     MOV     R7,bEPPflags
000A EF            MOV     A,R7
000B C4            SWAP    A
000C 540F          ANL     A,#0FH
000E 5401          ANL     A,#01H
0010 FF            MOV     R7,A
0011 BF0105        CJNE    R7,#01H,?C0003
                                           ; SOURCE LINE # 143
0014 750003  R     MOV     txdat,#03H
0017 8003          SJMP    ?C0004
0019         ?C0003:
                                           ; SOURCE LINE # 145
0019 750001  R     MOV     txdat,#01H
001C         ?C0004:
                                           ; SOURCE LINE # 146
001C E4            CLR     A
001D F500    R     MOV     txdat+01H,A
                                           ; SOURCE LINE # 147
001F 7B04          MOV     R3,#04H
0021 7A00    R     MOV     R2,#HIGH txdat
0023 7900    R     MOV     R1,#LOW txdat
0025 7D02          MOV     R5,#02H
0027 120000  E     LCALL   _single_transmit
                                           ; SOURCE LINE # 148
002A 22            RET     
002B         ?C0002:
002B E500    R     MOV     A,bRecipient
002D B40111        CJNE    A,#01H,?C0006
                                           ; SOURCE LINE # 149
0030 E4            CLR     A
0031 F500    R     MOV     txdat,A
                                           ; SOURCE LINE # 150
0033 F500    R     MOV     txdat+01H,A
                                           ; SOURCE LINE # 151
0035 7B04          MOV     R3,#04H
0037 7A00    R     MOV     R2,#HIGH txdat
0039 7900    R     MOV     R1,#LOW txdat
003B 7D02          MOV     R5,#02H
003D 120000  E     LCALL   _single_transmit
                                           ; SOURCE LINE # 152
0040 22            RET     
0041         ?C0006:
0041 E500    R     MOV     A,bRecipient
0043 6402          XRL     A,#02H
C51 COMPILER V4.01,  CHAP_9                                                                07/07/01  13:16:08  PAGE 7   

0045 703E          JNZ     ?C0008
                                           ; SOURCE LINE # 153
0047 E500    E     MOV     A,ControlData+05H
0049 5403          ANL     A,#03H
004B F500    R     MOV     endp,A
                                           ; SOURCE LINE # 154
004D E500    E     MOV     A,ControlData+05H
004F 30E70D        JNB     ACC.7,?C0009
                                           ; SOURCE LINE # 155
0052 E500    R     MOV     A,endp
0054 25E0          ADD     A,ACC
0056 04            INC     A
0057 FF            MOV     R7,A
0058 120000  E     LCALL   _D12_SelectEndpoint
005B 8F00    R     MOV     c,R7
005D 800A          SJMP    ?C0010
005F         ?C0009:
                                           ; SOURCE LINE # 157
005F E500    R     MOV     A,endp
0061 25E0          ADD     A,ACC
0063 FF            MOV     R7,A
0064 120000  E     LCALL   _D12_SelectEndpoint
0067 8F00    R     MOV     c,R7
0069         ?C0010:
                                           ; SOURCE LINE # 158
0069 E500    R     MOV     A,c
006B 30E105        JNB     ACC.1,?C0011
                                           ; SOURCE LINE # 159
006E 750001  R     MOV     txdat,#01H
0071 8003          SJMP    ?C0012
0073         ?C0011:
                                           ; SOURCE LINE # 161
0073 E4            CLR     A
0074 F500    R     MOV     txdat,A
0076         ?C0012:
                                           ; SOURCE LINE # 162
0076 E4            CLR     A
0077 F500    R     MOV     txdat+01H,A
                                           ; SOURCE LINE # 163
0079 7B04          MOV     R3,#04H
007B 7A00    R     MOV     R2,#HIGH txdat
007D 7900    R     MOV     R1,#LOW txdat
007F 7D02          MOV     R5,#02H
0081 120000  E     LCALL   _single_transmit
                                           ; SOURCE LINE # 164
0084 22            RET     
0085         ?C0008:
                                           ; SOURCE LINE # 165
0085 120000  E     LCALL   stall_ep0
                                           ; SOURCE LINE # 166
0088         ?C0014:
0088 22            RET     
             ; FUNCTION get_status (END)

             ; FUNCTION clear_feature (BEGIN)
                                           ; SOURCE LINE # 168
                                           ; SOURCE LINE # 169
                                           ; SOURCE LINE # 171
0000 E500    E     MOV     A,ControlData
0002 541F          ANL     A,#01FH
0004 F500    R     MOV     bRecipient,A
                                           ; SOURCE LINE # 173
0006 701F          JNZ     ?C0015
0008 E500    E     MOV     A,ControlData+03H
000A 6401          XRL     A,#01H
000C 4500    E     ORL     A,ControlData+02H
C51 COMPILER V4.01,  CHAP_9                                                                07/07/01  13:16:08  PAGE 8   

000E 7017          JNZ     ?C0015
                                           ; SOURCE LINE # 174
                                           ; SOURCE LINE # 175
0010 C2AF          CLR     EA
                                           ; SOURCE LINE # 176
0012 AF00    E     MOV     R7,bEPPflags
0014 EF            MOV     A,R7
0015 54EF          ANL     A,#0EFH
0017 F500    E     MOV     bEPPflags,A
                                           ; SOURCE LINE # 177
0019 D2AF          SETB    EA
                                           ; SOURCE LINE # 178
001B 7B00          MOV     R3,#00H
001D 7A00          MOV     R2,#00H
001F 7900          MOV     R1,#00H
0021 E4            CLR     A
0022 FD            MOV     R5,A
0023 120000  E     LCALL   _single_transmit
                                           ; SOURCE LINE # 179
0026 22            RET     
0027         ?C0015:
                                           ; SOURCE LINE # 180
0027 E500    R     MOV     A,bRecipient
0029 6402          XRL     A,#02H
002B 7034          JNZ     ?C0017
002D E500    E     MOV     A,ControlData+03H
002F 4500    E     ORL     A,ControlData+02H
0031 702E          JNZ     ?C0017
                                           ; SOURCE LINE # 181
                                           ; SOURCE LINE # 182
0033 E500    E     MOV     A,ControlData+05H
0035 5403          ANL     A,#03H
0037 F500    R     MOV     endp,A
                                           ; SOURCE LINE # 183
0039 E500    E     MOV     A,ControlData+05H
003B 30E70D        JNB     ACC.7,?C0018
                                           ; SOURCE LINE # 185
003E E500    R     MOV     A,endp
0040 25E0          ADD     A,ACC
0042 04            INC     A
0043 FF            MOV     R7,A
0044 E4            CLR     A
0045 FD            MOV     R5,A
0046 120000  E     LCALL   _D12_SetEndpointStatus
0049 800A          SJMP    ?C0019
004B         ?C0018:
                                           ; SOURCE LINE # 188
004B E500    R     MOV     A,endp
004D 25E0          ADD     A,ACC
004F FF            MOV     R7,A
0050 E4            CLR     A
0051 FD            MOV     R5,A
0052 120000  E     LCALL   _D12_SetEndpointStatus
0055         ?C0019:
                                           ; SOURCE LINE # 189
0055 7B00          MOV     R3,#00H
0057 7A00          MOV     R2,#00H
0059 7900          MOV     R1,#00H
005B E4            CLR     A
005C FD            MOV     R5,A
005D 120000  E     LCALL   _single_transmit
                                           ; SOURCE LINE # 190
0060 22            RET     
0061         ?C0017:
                                           ; SOURCE LINE # 191
0061 120000  E     LCALL   stall_ep0
C51 COMPILER V4.01,  CHAP_9                                                                07/07/01  13:16:08  PAGE 9   

                                           ; SOURCE LINE # 192
0064         ?C0021:
0064 22            RET     
             ; FUNCTION clear_feature (END)

             ; FUNCTION set_feature (BEGIN)
                                           ; SOURCE LINE # 194
                                           ; SOURCE LINE # 195
                                           ; SOURCE LINE # 197
0000 E500    E     MOV     A,ControlData
0002 541F          ANL     A,#01FH
0004 F500    R     MOV     bRecipient,A
                                           ; SOURCE LINE # 199
0006 701F          JNZ     ?C0022
0008 E500    E     MOV     A,ControlData+03H
000A 6401          XRL     A,#01H
000C 4500    E     ORL     A,ControlData+02H
000E 7017          JNZ     ?C0022
                                           ; SOURCE LINE # 200
                                           ; SOURCE LINE # 201
0010 C2AF          CLR     EA
                                           ; SOURCE LINE # 202
0012 AF00    E     MOV     R7,bEPPflags
0014 EF            MOV     A,R7
0015 4410          ORL     A,#010H
0017 F500    E     MOV     bEPPflags,A
                                           ; SOURCE LINE # 203
0019 D2AF          SETB    EA
                                           ; SOURCE LINE # 204
001B 7B00          MOV     R3,#00H
001D 7A00          MOV     R2,#00H
001F 7900          MOV     R1,#00H
0021 E4            CLR     A
0022 FD            MOV     R5,A
0023 120000  E     LCALL   _single_transmit
                                           ; SOURCE LINE # 205
0026 22            RET     
0027         ?C0022:
                                           ; SOURCE LINE # 206
0027 E500    R     MOV     A,bRecipient
0029 6402          XRL     A,#02H
002B 7034          JNZ     ?C0024
002D E500    E     MOV     A,ControlData+03H
002F 4500    E     ORL     A,ControlData+02H
0031 702E          JNZ     ?C0024
                                           ; SOURCE LINE # 207
                                           ; SOURCE LINE # 208
0033 E500    E     MOV     A,ControlData+05H
0035 5403          ANL     A,#03H
0037 F500    R     MOV     endp,A
                                           ; SOURCE LINE # 209
0039 E500    E     MOV     A,ControlData+05H
003B 30E70D        JNB     ACC.7,?C0025
                                           ; SOURCE LINE # 211
003E E500    R     MOV     A,endp
0040 25E0          ADD     A,ACC

⌨️ 快捷键说明

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