📄 isr.lst
字号:
261 2 }
262 1 }
263
264 void main_rxdone(void)
265 {
266 1 unsigned char len;
267 1
268 1 D12_ReadLastTransactionStatus(4); /* Clear interrupt flag */
269 1
270 1 if(bNoRAM)
271 1 len = D12_ReadEndpoint(4, 64, EpBuf + ioCount);
272 1 else
273 1 len = D12_ReadEndpoint(4, 64, MainEpBuf + ioCount);
274 1 ioCount += len;
275 1 if(bNoRAM)
276 1 len = D12_ReadEndpoint(4, 64, EpBuf + ioCount);
277 1 else
278 1 len = D12_ReadEndpoint(4, 64, MainEpBuf + ioCount);
279 1 ioCount += len;
280 1 if(ioCount >= ioSize) {
281 2 if(bEPPflags.bits.dma_state == DMA_PENDING)
282 2 bEPPflags.bits.setup_dma ++;
283 2 else
284 2 bEPPflags.bits.dma_state = DMA_IDLE;
285 2 }
286 1 }
287
288
C51 COMPILER V4.01, ISR 07/07/01 13:16:07 PAGE 6
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION timer_isr (BEGIN)
0000 C0E0 PUSH ACC
0002 C0F0 PUSH B
0004 C083 PUSH DPH
0006 C082 PUSH DPL
0008 C0D0 PUSH PSW
000A C000 PUSH AR0
000C C004 PUSH AR4
000E C005 PUSH AR5
0010 C006 PUSH AR6
0012 C007 PUSH AR7
; SOURCE LINE # 64
; SOURCE LINE # 66
0014 C2AF CLR EA
; SOURCE LINE # 67
0016 AF00 R MOV R7,ClockTicks+03H
0018 AE00 R MOV R6,ClockTicks+02H
001A AD00 R MOV R5,ClockTicks+01H
001C AC00 R MOV R4,ClockTicks
001E 120000 E LCALL ?C_LPUSH
0021 7F01 MOV R7,#01H
0023 7E00 MOV R6,#00H
0025 7D00 MOV R5,#00H
0027 7C00 MOV R4,#00H
0029 120000 E LCALL ?C_LADD
002C 8F00 R MOV ClockTicks+03H,R7
002E 8E00 R MOV ClockTicks+02H,R6
0030 8D00 R MOV ClockTicks+01H,R5
0032 8C00 R MOV ClockTicks,R4
; SOURCE LINE # 68
0034 AF00 R MOV R7,bEPPflags
0036 EF MOV A,R7
0037 4401 ORL A,#01H
0039 F500 R MOV bEPPflags,A
; SOURCE LINE # 69
003B D2AF SETB EA
; SOURCE LINE # 70
003D D007 POP AR7
003F D006 POP AR6
0041 D005 POP AR5
0043 D004 POP AR4
0045 D000 POP AR0
0047 D0D0 POP PSW
0049 D082 POP DPL
004B D083 POP DPH
004D D0F0 POP B
004F D0E0 POP ACC
0051 32 RETI
; FUNCTION timer_isr (END)
; FUNCTION usb_isr (BEGIN)
0000 C0E0 PUSH ACC
0002 C0F0 PUSH B
0004 C083 PUSH DPH
0006 C082 PUSH DPL
0008 C0D0 PUSH PSW
000A C000 PUSH AR0
000C C001 PUSH AR1
000E C002 PUSH AR2
0010 C003 PUSH AR3
0012 C004 PUSH AR4
0014 C005 PUSH AR5
0016 C006 PUSH AR6
C51 COMPILER V4.01, ISR 07/07/01 13:16:07 PAGE 7
0018 C007 PUSH AR7
; SOURCE LINE # 73
; SOURCE LINE # 75
001A C2AF CLR EA
; SOURCE LINE # 76
001C 120000 R LCALL fn_usb_isr
; SOURCE LINE # 77
001F D2AF SETB EA
; SOURCE LINE # 78
0021 D007 POP AR7
0023 D006 POP AR6
0025 D005 POP AR5
0027 D004 POP AR4
0029 D003 POP AR3
002B D002 POP AR2
002D D001 POP AR1
002F D000 POP AR0
0031 D0D0 POP PSW
0033 D082 POP DPL
0035 D083 POP DPH
0037 D0F0 POP B
0039 D0E0 POP ACC
003B 32 RETI
; FUNCTION usb_isr (END)
; FUNCTION fn_usb_isr (BEGIN)
; SOURCE LINE # 80
; SOURCE LINE # 81
; SOURCE LINE # 84
0000 AF00 R MOV R7,bEPPflags
0002 EF MOV A,R7
0003 4420 ORL A,#020H
0005 F500 R MOV bEPPflags,A
; SOURCE LINE # 86
0007 120000 E LCALL D12_ReadInterruptRegister
000A 8E00 R MOV i_st,R6
000C 8F00 R MOV i_st+01H,R7
; SOURCE LINE # 88
000E E500 R MOV A,i_st+01H
0010 4500 R ORL A,i_st
0012 6053 JZ ?C0003
; SOURCE LINE # 89
0014 E500 R MOV A,i_st+01H
0016 30E60A JNB ACC.6,?C0004
; SOURCE LINE # 90
0019 120000 R LCALL bus_reset
; SOURCE LINE # 91
001C AF00 R MOV R7,bEPPflags
001E EF MOV A,R7
001F 4402 ORL A,#02H
0021 F500 R MOV bEPPflags,A
; SOURCE LINE # 92
0023 ?C0004:
; SOURCE LINE # 94
0023 E500 R MOV A,i_st
0025 30E003 JNB ACC.0,?C0005
; SOURCE LINE # 95
0028 120000 R LCALL dma_eot
002B ?C0005:
; SOURCE LINE # 97
002B E500 R MOV A,i_st+01H
002D 30E707 JNB ACC.7,?C0006
; SOURCE LINE # 98
0030 AF00 R MOV R7,bEPPflags
0032 EF MOV A,R7
0033 4404 ORL A,#04H
C51 COMPILER V4.01, ISR 07/07/01 13:16:07 PAGE 8
0035 F500 R MOV bEPPflags,A
0037 ?C0006:
; SOURCE LINE # 100
0037 E500 R MOV A,i_st+01H
0039 30E103 JNB ACC.1,?C0007
; SOURCE LINE # 101
003C 120000 R LCALL ep0_txdone
003F ?C0007:
; SOURCE LINE # 102
003F E500 R MOV A,i_st+01H
0041 30E003 JNB ACC.0,?C0008
; SOURCE LINE # 103
0044 120000 R LCALL ep0_rxdone
0047 ?C0008:
; SOURCE LINE # 104
0047 E500 R MOV A,i_st+01H
0049 30E303 JNB ACC.3,?C0009
; SOURCE LINE # 105
004C 120000 R LCALL ep1_txdone
004F ?C0009:
; SOURCE LINE # 106
004F E500 R MOV A,i_st+01H
0051 30E203 JNB ACC.2,?C0010
; SOURCE LINE # 107
0054 120000 R LCALL ep1_rxdone
0057 ?C0010:
; SOURCE LINE # 108
0057 E500 R MOV A,i_st+01H
0059 30E503 JNB ACC.5,?C0011
; SOURCE LINE # 109
005C 120000 R LCALL main_txdone
005F ?C0011:
; SOURCE LINE # 110
005F E500 R MOV A,i_st+01H
0061 30E403 JNB ACC.4,?C0003
; SOURCE LINE # 111
0064 120000 R LCALL main_rxdone
; SOURCE LINE # 112
0067 ?C0003:
; SOURCE LINE # 114
0067 AF00 R MOV R7,bEPPflags
0069 EF MOV A,R7
006A 54DF ANL A,#0DFH
006C F500 R MOV bEPPflags,A
; SOURCE LINE # 115
006E 22 RET
; FUNCTION fn_usb_isr (END)
; FUNCTION bus_reset (BEGIN)
; SOURCE LINE # 117
; SOURCE LINE # 118
; SOURCE LINE # 119
0000 22 RET
; FUNCTION bus_reset (END)
; FUNCTION ep0_rxdone (BEGIN)
; SOURCE LINE # 121
; SOURCE LINE # 122
; SOURCE LINE # 125
0000 E4 CLR A
0001 FF MOV R7,A
0002 120000 E LCALL _D12_ReadLastTransactionStatus
;---- Variable 'ep_last' assigned to Register 'R7' ----
; SOURCE LINE # 127
0005 EF MOV A,R7
0006 20E503 JB ACC.5,$ + 6H
C51 COMPILER V4.01, ISR 07/07/01 13:16:07 PAGE 9
0009 020000 R LJMP ?C0015
; SOURCE LINE # 129
000C E4 CLR A
000D F500 E MOV ControlData+08H,A
000F F500 E MOV ControlData+09H,A
; SOURCE LINE # 130
0011 F500 E MOV ControlData+0AH,A
0013 F500 E MOV ControlData+0BH,A
; SOURCE LINE # 133
0015 FF MOV R7,A
0016 7D08 MOV R5,#08H
0018 7B04 MOV R3,#04H
001A 7A00 E MOV R2,#HIGH ControlData
001C 7900 E MOV R1,#LOW ControlData
001E 120000 E LCALL _D12_ReadEndpoint
0021 EF MOV A,R7
0022 6408 XRL A,#08H
0024 6016 JZ ?C0016
; SOURCE LINE # 135
0026 E4 CLR A
0027 FF MOV R7,A
0028 7D01 MOV R5,#01H
002A 120000 E LCALL _D12_SetEndpointStatus
; SOURCE LINE # 136
002D 7F01 MOV R7,#01H
002F 7D01 MOV R5,#01H
0031 120000 E LCALL _D12_SetEndpointStatus
; SOURCE LINE # 137
0034 AF00 R MOV R7,bEPPflags
0036 EF MOV A,R7
0037 543F ANL A,#03FH
0039 F500 R MOV bEPPflags,A
003B 22 RET
; SOURCE LINE # 140
003C ?C0016:
; SOURCE LINE # 142
003C E500 E MOV A,ControlData+02H
003E FD MOV R5,A
003F E500 E MOV A,ControlData+03H
0041 F500 E MOV ControlData+02H,A
0043 ED MOV A,R5
0044 F500 E MOV ControlData+03H,A
; SOURCE LINE # 143
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -