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

📄 mainloop.lst

📁 PDIUSBD12 USB1.1 C51源代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
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 + -