📄 hid_fw.lst
字号:
311 4 EZUSB_STALL_EP0(); // Stall End Point 0
312 4 break;
313 4 }
314 3 break;
315 3 default: // *** Invalid Command
316 3 EZUSB_STALL_EP0(); // Stall End Point 0
317 3 }
318 2 break;
319 2 case SETUP_VENDOR_REQUEST: //Vendor Request
320 2 if(DR_VendorCmnd())
321 2 EZUSB_STALL_EP0(); // Stall End Point 0
322 2 break;
323 2 case SETUP_CLASS_REQUEST: //Class Request
324 2 if(DR_ClassRequest())
325 2 EZUSB_STALL_EP0(); // Stall End Point 0
326 2
327 2 break;
328 2 default: //Reserved or illegal
329 2 EZUSB_STALL_EP0(); // Stall End Point 0
330 2 break;
331 2 }
332 1
333 1 // Acknowledge handshake phase of device request
334 1 // Required for rev C does not effect rev B
335 1 EP0CS |= bmBIT1;
336 1 }
337
338 // Wake-up interrupt handler
339 void resume_isr(void) interrupt WKUP_VECT
340 {
341 1 EZUSB_CLEAR_RSMIRQ();
342 1 }
C51 COMPILER V6.12 HID_FW 04/08/2003 17:13:30 PAGE 7
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION main (BEGIN)
; SOURCE LINE # 60
; SOURCE LINE # 61
; SOURCE LINE # 65
0000 E4 CLR A
0001 F500 R MOV j+03H,A
0003 F500 R MOV j+02H,A
0005 F500 R MOV j+01H,A
0007 F500 R MOV j,A
; SOURCE LINE # 70
0009 C200 R CLR Sleep
; SOURCE LINE # 71
000B C200 R CLR Rwuen
; SOURCE LINE # 72
000D C200 R CLR Selfpwr
; SOURCE LINE # 73
000F C200 R CLR GotSUD
; SOURCE LINE # 76
0011 120000 E LCALL TD_Init
; SOURCE LINE # 84
0014 7E00 E MOV R6,#HIGH DeviceDscr
0016 7F00 E MOV R7,#LOW DeviceDscr
0018 8E00 R MOV pDeviceDscr,R6
001A 8F00 R MOV pDeviceDscr+01H,R7
; SOURCE LINE # 85
001C 750000 E MOV pConfigDscr,#HIGH ConfigDscr
001F 750000 E MOV pConfigDscr+01H,#LOW ConfigDscr
; SOURCE LINE # 86
0022 750000 E MOV pStringDscr,#HIGH StringDscr
0025 750000 E MOV pStringDscr+01H,#LOW StringDscr
; SOURCE LINE # 87
0028 EE MOV A,R6
0029 54E0 ANL A,#0E0H
002B 7003 JNZ $ + 5H
002D 020000 R LJMP ?C0001
; SOURCE LINE # 88
; SOURCE LINE # 89
0030 750000 R MOV IntDescrAddr,#00H
0033 750080 R MOV IntDescrAddr+01H,#080H
; SOURCE LINE # 90
0036 8E00 R MOV ExtDescrAddr,R6
0038 8F00 R MOV ExtDescrAddr+01H,R7
; SOURCE LINE # 91
003A C3 CLR C
003B 7400 E MOV A,#LOW UserDscr
003D 9F SUBB A,R7
003E FF MOV R7,A
003F 7400 E MOV A,#HIGH UserDscr
0041 9E SUBB A,R6
0042 CF XCH A,R7
0043 2402 ADD A,#02H
0045 CF XCH A,R7
0046 3400 ADDC A,#00H
0048 FE MOV R6,A
0049 E4 CLR A
004A 8F00 R MOV DevDescrLen+03H,R7
004C 8E00 R MOV DevDescrLen+02H,R6
004E F500 R MOV DevDescrLen+01H,A
0050 F500 R MOV DevDescrLen,A
C51 COMPILER V6.12 HID_FW 04/08/2003 17:13:30 PAGE 8
; SOURCE LINE # 92
0052 F500 R MOV i+03H,A
0054 F500 R MOV i+02H,A
0056 F500 R MOV i+01H,A
0058 F500 R MOV i,A
005A ?C0002:
005A AF00 R MOV R7,DevDescrLen+03H
005C AE00 R MOV R6,DevDescrLen+02H
005E AD00 R MOV R5,DevDescrLen+01H
0060 AC00 R MOV R4,DevDescrLen
0062 AB00 R MOV R3,i+03H
0064 AA00 R MOV R2,i+02H
0066 A900 R MOV R1,i+01H
0068 A800 R MOV R0,i
006A C3 CLR C
006B 120000 E LCALL ?C?ULCMP
006E 5026 JNC ?C0003
; SOURCE LINE # 93
0070 E500 R MOV A,IntDescrAddr+01H
0072 2500 R ADD A,i+03H
0074 F582 MOV DPL,A
0076 E500 R MOV A,IntDescrAddr
0078 3500 R ADDC A,i+02H
007A F583 MOV DPH,A
007C 74CD MOV A,#0CDH
007E F0 MOVX @DPTR,A
007F E500 R MOV A,i+03H
0081 2401 ADD A,#01H
0083 F500 R MOV i+03H,A
0085 E4 CLR A
0086 3500 R ADDC A,i+02H
0088 F500 R MOV i+02H,A
008A E4 CLR A
008B 3500 R ADDC A,i+01H
008D F500 R MOV i+01H,A
008F E4 CLR A
0090 3500 R ADDC A,i
0092 F500 R MOV i,A
0094 80C4 SJMP ?C0002
0096 ?C0003:
; SOURCE LINE # 94
0096 E4 CLR A
0097 F500 R MOV i+03H,A
0099 F500 R MOV i+02H,A
009B F500 R MOV i+01H,A
009D F500 R MOV i,A
009F ?C0005:
009F AF00 R MOV R7,DevDescrLen+03H
00A1 AE00 R MOV R6,DevDescrLen+02H
00A3 AD00 R MOV R5,DevDescrLen+01H
00A5 AC00 R MOV R4,DevDescrLen
00A7 AB00 R MOV R3,i+03H
00A9 AA00 R MOV R2,i+02H
00AB A900 R MOV R1,i+01H
00AD A800 R MOV R0,i
00AF C3 CLR C
00B0 120000 E LCALL ?C?ULCMP
00B3 5031 JNC ?C0006
; SOURCE LINE # 95
00B5 AE00 R MOV R6,i+02H
00B7 AF00 R MOV R7,i+03H
00B9 E500 R MOV A,ExtDescrAddr+01H
C51 COMPILER V6.12 HID_FW 04/08/2003 17:13:30 PAGE 9
00BB 2F ADD A,R7
00BC F582 MOV DPL,A
00BE E500 R MOV A,ExtDescrAddr
00C0 3E ADDC A,R6
00C1 F583 MOV DPH,A
00C3 E0 MOVX A,@DPTR
00C4 FD MOV R5,A
00C5 E500 R MOV A,IntDescrAddr+01H
00C7 2F ADD A,R7
00C8 F582 MOV DPL,A
00CA E500 R MOV A,IntDescrAddr
00CC 3E ADDC A,R6
00CD F583 MOV DPH,A
00CF ED MOV A,R5
00D0 F0 MOVX @DPTR,A
00D1 EF MOV A,R7
00D2 2401 ADD A,#01H
00D4 F500 R MOV i+03H,A
00D6 E4 CLR A
00D7 3E ADDC A,R6
00D8 F500 R MOV i+02H,A
00DA E4 CLR A
00DB 3500 R ADDC A,i+01H
00DD F500 R MOV i+01H,A
00DF E4 CLR A
00E0 3500 R ADDC A,i
00E2 F500 R MOV i,A
00E4 80B9 SJMP ?C0005
00E6 ?C0006:
; SOURCE LINE # 96
00E6 850000 R MOV pDeviceDscr,IntDescrAddr
00E9 850000 R MOV pDeviceDscr+01H,IntDescrAddr+01H
; SOURCE LINE # 97
00EC 7400 E MOV A,#LOW DeviceDscr
00EE 2480 ADD A,#080H
00F0 FF MOV R7,A
00F1 7400 E MOV A,#HIGH DeviceDscr
00F3 34FF ADDC A,#0FFH
00F5 FE MOV R6,A
;---- Variable 'offset' assigned to Register 'R6/R7' ----
; SOURCE LINE # 98
00F6 C3 CLR C
00F7 E500 R MOV A,pConfigDscr+01H
00F9 9F SUBB A,R7
00FA F500 R MOV pConfigDscr+01H,A
00FC E500 R MOV A,pConfigDscr
00FE 9E SUBB A,R6
00FF F500 R MOV pConfigDscr,A
; SOURCE LINE # 99
0101 C3 CLR C
0102 E500 R MOV A,pStringDscr+01H
0104 9F SUBB A,R7
0105 F500 R MOV pStringDscr+01H,A
0107 E500 R MOV A,pStringDscr
0109 9E SUBB A,R6
010A F500 R MOV pStringDscr,A
; SOURCE LINE # 100
010C ?C0001:
; SOURCE LINE # 102
010C D2E8 SETB EUSB
; SOURCE LINE # 103
010E 43D820 ORL EICON,#020H
C51 COMPILER V6.12 HID_FW 04/08/2003 17:13:30 PAGE 10
; SOURCE LINE # 109
0111 900000 E MOV DPTR,#PORTCCFG
0114 E0 MOVX A,@DPTR
0115 44C0 ORL A,#0C0H
0117 F0 MOVX @DPTR,A
; SOURCE LINE # 111
0118 900000 E MOV DPTR,#USBBAV
011B E0 MOVX A,@DPTR
011C 4401 ORL A,#01H
011E F0 MOVX @DPTR,A
; SOURCE LINE # 112
011F 900000 E MOV DPTR,#USBIEN
0122 E0 MOVX A,@DPTR
0123 441D ORL A,#01DH
0125 F0 MOVX @DPTR,A
; SOURCE LINE # 113
0126 D2AF SETB EA
0128 ?C0008:
; SOURCE LINE # 121
0128 200041 R JB GotSUD,?C0009
; SOURCE LINE # 122
; SOURCE LINE # 123
012B 200005 R JB GotSUD,?C0010
; SOURCE LINE # 124
012E D200 E SETB ?EZUSB_Discon?BIT
0130 120000 E LCALL EZUSB_Discon
0133 ?C0010:
; SOURCE LINE # 125
0133 E4 CLR A
0134 F500 R MOV j+03H,A
0136 F500 R MOV j+02H,A
0138 F500 R MOV j+01H,A
013A F500 R MOV j,A
013C ?C0011:
013C 7F40 MOV R7,#040H
013E 7E92 MOV R6,#092H
0140 7D04 MOV R5,#04H
0142 7C00 MOV R4,#00H
0144 AB00 R MOV R3,j+03H
0146 AA00 R MOV R2,j+02H
0148 A900 R MOV R1,j+01H
014A A800 R MOV R0,j
014C C3 CLR C
014D 120000 E LCALL ?C?ULCMP
0150 50D6 JNC ?C0008
0152 2000D3 R JB GotSUD,?C0008
0155 E500 R MOV A,j+03H
0157 2401 ADD A,#01H
0159 F500 R MOV j+03H,A
015B E4 CLR A
015C 3500 R ADDC A,j+02H
015E F500 R MOV j+02H,A
0160 E4 CLR A
0161 3500 R ADDC A,j+01H
0163 F500 R MOV j+01H,A
0165 E4 CLR A
0166 3500 R ADDC A,j
0168 F500 R MOV j,A
016A 80D0 SJMP ?C0011
; SOURCE LINE # 126
016C ?C0009:
; SOURCE LINE # 130
C51 COMPILER V6.12 HID_FW 04/08/2003 17:13:30 PAGE 11
016C 538EF8 ANL CKCON,#0F8H
016F ?C0014:
; SOURCE LINE # 133
; SOURCE LINE # 134
; SOURCE LINE # 135
016F 300005 R JNB GotSUD,?C0016
; SOURCE LINE # 136
; SOURCE LINE # 137
0172 120000 R LCALL SetupCommand
; SOURCE LINE # 138
0175 C200 R CLR GotSUD
; SOURCE LINE # 139
0177 ?C0016:
; SOURCE LINE # 146
0177 30001A R JNB Sleep,?C0017
; SOURCE LINE # 147
; SOURCE LINE # 148
017A 120000 E LCALL TD_Suspend
017D 5015 JNC ?C0017
; SOURCE LINE # 149
; SOURCE LINE # 150
017F C200 R CLR Sleep
0181 ?C0021:
; SOURCE LINE # 152
; SOURCE LINE # 153
0181 120000 E LCALL EZUSB_Susp
; SOURCE LINE # 154
; SOURCE LINE # 155
0184 200007 R JB Rwuen,?C0020
0187 900000 E MOV DPTR,#USBCS
018A E0 MOVX A,@DPTR
018B 20E7F3 JB ACC.7,?C0021
018E ?C0020:
; SOURCE LINE # 160
018E 120000 E LCALL EZUSB_Resume
; SOURCE LINE # 161
0191 120000 E LCALL TD_Resume
; SOURCE LINE # 162
; SOURCE LINE # 163
0194 ?C0017:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -