📄 mainloop.lst
字号:
C51 COMPILER V4.01, MAINLOOP 07/07/01 13:16:07 PAGE 20
; FUNCTION connect_USB (BEGIN)
; SOURCE LINE # 410
; SOURCE LINE # 411
; SOURCE LINE # 413
0000 C2AF CLR EA
; SOURCE LINE # 414
0002 E4 CLR A
0003 F500 E MOV bEPPflags,A
0005 F500 E MOV bEPPflags+01H,A
; SOURCE LINE # 415
0007 D2AF SETB EA
; SOURCE LINE # 418
0009 7FC0 MOV R7,#0C0H
000B 120000 E LCALL _D12_SetDMA
; SOURCE LINE # 421
000E 7F12 MOV R7,#012H
0010 7D43 MOV R5,#043H
0012 120000 E LCALL _D12_SetMode
; SOURCE LINE # 422
0015 22 RET
; FUNCTION connect_USB (END)
; FUNCTION reconnect_USB (BEGIN)
; SOURCE LINE # 425
; SOURCE LINE # 426
; SOURCE LINE # 428
0000 C292 CLR MCU_LED0
; SOURCE LINE # 429
0002 C293 CLR MCU_LED1
; SOURCE LINE # 434
0004 C2B3 CLR D12SUSPD
; SOURCE LINE # 435
0006 120000 R LCALL disconnect_USB
; SOURCE LINE # 437
0009 7B05 MOV R3,#05H
000B 7A00 R MOV R2,#HIGH ?SC_781
000D 7900 R MOV R1,#LOW ?SC_781
000F 120000 E LCALL _printf
; SOURCE LINE # 439
0012 850000 R MOV clk_cnt+03H,ClockTicks+03H
0015 850000 R MOV clk_cnt+02H,ClockTicks+02H
0018 850000 R MOV clk_cnt+01H,ClockTicks+01H
001B 850000 R MOV clk_cnt,ClockTicks
001E ?C0058:
; SOURCE LINE # 440
001E 7F14 MOV R7,#014H
0020 7E00 MOV R6,#00H
0022 7D00 MOV R5,#00H
0024 7C00 MOV R4,#00H
0026 120000 E LCALL ?C_LPUSH
0029 AF00 R MOV R7,clk_cnt+03H
002B AE00 R MOV R6,clk_cnt+02H
002D AD00 R MOV R5,clk_cnt+01H
002F AC00 R MOV R4,clk_cnt
0031 120000 E LCALL ?C_LADD
0034 120000 E LCALL ?C_LPUSH
0037 AF00 E MOV R7,ClockTicks+03H
0039 AE00 E MOV R6,ClockTicks+02H
003B AD00 E MOV R5,ClockTicks+01H
003D AC00 E MOV R4,ClockTicks
003F 120000 E LCALL ?C_ULCMP
0042 40DA JC ?C0058
0044 ?C0059:
; SOURCE LINE # 443
0044 120000 R LCALL connect_USB
; SOURCE LINE # 445
C51 COMPILER V4.01, MAINLOOP 07/07/01 13:16:07 PAGE 21
0047 D292 SETB MCU_LED0
; SOURCE LINE # 446
0049 D293 SETB MCU_LED1
; SOURCE LINE # 447
004B 22 RET
; FUNCTION reconnect_USB (END)
; FUNCTION init_unconfig (BEGIN)
; SOURCE LINE # 449
; SOURCE LINE # 450
; SOURCE LINE # 453
0000 E4 CLR A
0001 FF MOV R7,A
0002 120000 E LCALL _D12_SetEndpointEnable
; SOURCE LINE # 454
0005 22 RET
; FUNCTION init_unconfig (END)
; FUNCTION init_config (BEGIN)
; SOURCE LINE # 456
; SOURCE LINE # 457
; SOURCE LINE # 458
0000 7F01 MOV R7,#01H
0002 120000 E LCALL _D12_SetEndpointEnable
; SOURCE LINE # 459
0005 22 RET
; FUNCTION init_config (END)
; FUNCTION _single_transmit (BEGIN)
;---- Variable 'buf' assigned to Register 'R1/R2/R3' ----
;---- Variable 'len' assigned to Register 'R5' ----
; SOURCE LINE # 461
; SOURCE LINE # 462
; SOURCE LINE # 463
0000 ED MOV A,R5
0001 D3 SETB C
0002 9410 SUBB A,#010H
0004 5005 JNC ?C0064
; SOURCE LINE # 464
0006 7F01 MOV R7,#01H
0008 120000 E LCALL _D12_WriteEndpoint
; SOURCE LINE # 465
; SOURCE LINE # 466
000B ?C0064:
000B 22 RET
; FUNCTION _single_transmit (END)
; FUNCTION _code_transmit (BEGIN)
0000 8E00 R MOV pRomData,R6
0002 8F00 R MOV pRomData+01H,R7
;---- Variable 'len' assigned to Register 'R4/R5' ----
; SOURCE LINE # 468
; SOURCE LINE # 469
; SOURCE LINE # 470
0004 E4 CLR A
0005 F500 R MOV ControlData+0AH,A
0007 F500 R MOV ControlData+0BH,A
; SOURCE LINE # 471
0009 D3 SETB C
000A E500 R MOV A,ControlData+09H
000C 9D SUBB A,R5
000D E500 R MOV A,ControlData+08H
000F 9C SUBB A,R4
0010 4004 JC ?C0065
; SOURCE LINE # 472
0012 8C00 R MOV ControlData+08H,R4
C51 COMPILER V4.01, MAINLOOP 07/07/01 13:16:07 PAGE 22
0014 8D00 R MOV ControlData+09H,R5
0016 ?C0065:
; SOURCE LINE # 474
0016 750005 R MOV ControlData+0CH,#05H
0019 850000 R MOV ControlData+0DH,pRomData
001C 850000 R MOV ControlData+0EH,pRomData+01H
; SOURCE LINE # 475
001F C3 CLR C
0020 E500 R MOV A,ControlData+09H
0022 9410 SUBB A,#010H
0024 E500 R MOV A,ControlData+08H
0026 9400 SUBB A,#00H
0028 4026 JC ?C0066
; SOURCE LINE # 476
002A 7F01 MOV R7,#01H
002C 7D10 MOV R5,#010H
002E AB00 R MOV R3,ControlData+0CH
0030 AA00 R MOV R2,ControlData+0DH
0032 A900 R MOV R1,ControlData+0EH
0034 120000 E LCALL _D12_WriteEndpoint
; SOURCE LINE # 477
0037 7410 MOV A,#010H
0039 2500 R ADD A,ControlData+0BH
003B F500 R MOV ControlData+0BH,A
003D E4 CLR A
003E 3500 R ADDC A,ControlData+0AH
0040 F500 R MOV ControlData+0AH,A
; SOURCE LINE # 479
0042 C2AF CLR EA
; SOURCE LINE # 480
0044 AF00 E MOV R7,bEPPflags
0046 EF MOV A,R7
0047 543F ANL A,#03FH
0049 4440 ORL A,#040H
004B F500 E MOV bEPPflags,A
; SOURCE LINE # 481
004D D2AF SETB EA
; SOURCE LINE # 482
004F 22 RET
0050 ?C0066:
; SOURCE LINE # 483
; SOURCE LINE # 484
0050 7F01 MOV R7,#01H
0052 AD00 R MOV R5,ControlData+09H
0054 AA00 R MOV R2,pRomData
0056 A900 R MOV R1,pRomData+01H
0058 7B05 MOV R3,#05H
005A 120000 E LCALL _D12_WriteEndpoint
; SOURCE LINE # 485
005D E500 R MOV A,ControlData+09H
005F 2500 R ADD A,ControlData+0BH
0061 F500 R MOV ControlData+0BH,A
0063 E500 R MOV A,ControlData+08H
0065 3500 R ADDC A,ControlData+0AH
0067 F500 R MOV ControlData+0AH,A
; SOURCE LINE # 486
0069 C2AF CLR EA
; SOURCE LINE # 487
006B AF00 E MOV R7,bEPPflags
006D EF MOV A,R7
006E 543F ANL A,#03FH
0070 F500 E MOV bEPPflags,A
; SOURCE LINE # 488
0072 D2AF SETB EA
; SOURCE LINE # 489
; SOURCE LINE # 490
C51 COMPILER V4.01, MAINLOOP 07/07/01 13:16:07 PAGE 23
0074 ?C0068:
0074 22 RET
; FUNCTION _code_transmit (END)
; FUNCTION check_key_LED (BEGIN)
; SOURCE LINE # 492
; SOURCE LINE # 493
; SOURCE LINE # 496
0000 A291 MOV C,MCU_SWM1
0002 8290 ANL C,MCU_SWM0
0004 E4 CLR A
0005 33 RLC A
0006 F500 R MOV c,A
; SOURCE LINE # 497
0008 53000F R ANL c,#0FH
; SOURCE LINE # 498
000B E500 R MOV A,c
000D 6500 R XRL A,last_key
000F 600D JZ ?C0069
; SOURCE LINE # 499
0011 7F03 MOV R7,#03H
0013 7D01 MOV R5,#01H
0015 7B04 MOV R3,#04H
0017 7A00 R MOV R2,#HIGH c
0019 7900 R MOV R1,#LOW c
001B 120000 E LCALL _D12_WriteEndpoint
; SOURCE LINE # 500
001E ?C0069:
; SOURCE LINE # 502
001E 850000 R MOV last_key,c
; SOURCE LINE # 504
0021 AF00 E MOV R7,bEPPflags+01H
0023 EF MOV A,R7
0024 13 RRC A
0025 13 RRC A
0026 543F ANL A,#03FH
0028 30E019 JNB ACC.0,?C0071
; SOURCE LINE # 505
002B C2AF CLR EA
; SOURCE LINE # 506
002D AF00 E MOV R7,bEPPflags+01H
002F EF MOV A,R7
0030 54FB ANL A,#0FBH
0032 F500 E MOV bEPPflags+01H,A
; SOURCE LINE # 507
0034 D2AF SETB EA
; SOURCE LINE # 508
0036 7800 E MOV R0,#GenEpBuf+03H
0038 E6 MOV A,@R0
0039 FF MOV R7,A
003A 13 RRC A
003B B3 CPL C
003C 9292 MOV MCU_LED0,C
; SOURCE LINE # 509
003E EF MOV A,R7
003F A2E1 MOV C,ACC.1
0041 B3 CPL C
0042 9293 MOV MCU_LED1,C
; SOURCE LINE # 510
; SOURCE LINE # 511
0044 ?C0071:
0044 22 RET
; FUNCTION check_key_LED (END)
; FUNCTION setup_dma (BEGIN)
; SOURCE LINE # 513
C51 COMPILER V4.01, MAINLOOP 07/07/01 13:16:07 PAGE 24
; SOURCE LINE # 514
; SOURCE LINE # 515
0000 7800 E MOV R0,#ioRequest+04H
0002 E6 MOV A,@R0
0003 F500 E MOV ioSize,A
; SOURCE LINE # 516
0005 E4 CLR A
0006 F500 E MOV ioCount,A
; SOURCE LINE # 518
0008 C2AF CLR EA
; SOURCE LINE # 519
000A AF00 E MOV R7,bEPPflags+01H
000C EF MOV A,R7
000D 549F ANL A,#09FH
000F 4420 ORL A,#020H
0011 F500 E MOV bEPPflags+01H,A
; SOURCE LINE # 520
0013 D2AF SETB EA
; SOURCE LINE # 522
0015 7B00 MOV R3,#00H
0017 7A00 MOV R2,#00H
0019 7900 MOV R1,#00H
001B E4 CLR A
001C FD MOV R5,A
001D 120000 R LCALL _single_transmit
; SOURCE LINE # 524
0020 7800 E MOV R0,#ioRequest+05H
0022 E6 MOV A,@R0
0023 30E058 JNB ACC.0,?C0080
; SOURCE LINE # 525
0026 E500 E MOV A,ioSize
0028 D3 SETB C
0029 9440 SUBB A,#040H
002B 5004 JNC ?C0074
002D E500 E MOV A,ioSize
002F 7027 JNZ ?C0073
0031 ?C0074:
; SOURCE LINE # 526
0031 E500 R MOV A,bNoRAM
0033 600F JZ ?C0075
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -