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

📄 usb_oper.lst

📁 holtek mouse usb asm. FW
💻 LST
📖 第 1 页 / 共 5 页
字号:
 614  0158  0F48        			MOV		A, FIFO0
 615  0159  0083        			MOV		MP1, A
 616  015A  0702        			MOV		A, ID1
 617  015B  0080        			MOV		ID0, A
 618  015C  1481        			INC		MP0
 619  015D              
 620  015D  1780     R  			SDZ		USB_LCOUNT
 621  015E  2800     R  			JMP		RFIFO0LOOP
 622  015F              
 623  015F              	READ_FIFO0END:
 624  015F  0F46        			MOV		A, MISC
 625  0160  0083        			MOV		MP1, A
 626  0161              
 627  0161  3082        			SET		ID1.TX
 628  0162  2000     R  			CALL	USB_MISC_DELAY
 629  0163              			
 630  0163  3402        			CLR		ID1.REQ
 631  0164  0003        			RET
 632  0165              
 633  0165              WRITE_LEN0_TOFIFO0:
 634  0165              
 635  0165  0F46        			MOV		A, MISC			
 636  0166  0083        			MOV		MP1, A
 637  0167              
 638  0167  0702        			MOV		A, ID1
 639  0168  0EE0        			AND		A, 0E0H
 640  0169  0D02        			OR		A, 02H
 641  016A  0082        			MOV		ID1, A
 642  016B              
 643  016B  2000     R  			CALL	USB_MISC_DELAY
 644  016C              
 645  016C  3002        			SET		ID1.0
 646  016D              
 647  016D  2000     R  			CALL	USB_MISC_DELAY
 648  016E              			
 649  016E              			;SNZ		ID1.6
 650  016E              			;JMP		WLEN0_EXIT
 651  016E              
 652  016E              			;SET		ID1.2
 653  016E              			;CALL	USB_MISC_DELAY
 654  016E              
 655  016E  3482        			CLR		ID1.1
 656  016F  2000     R  			CALL	USB_MISC_DELAY
 657  0170              
"File: USB_OPER.ASM  Holtek Cross-Assembler  Version 2.86      Page 12

 658  0170  3402        			CLR		ID1.0
 659  0171              
 660  0171              	WLEN0_EXIT:
 661  0171              
 662  0171  0003        			RET
 663  0172              
 664  0172              
 665  0172              WRITE_FIFO0:
 666  0172              
 667  0172  0700     R  			MOV		A, BYTE_SADDR
 668  0173  0087        			MOV		TBLP, A
 669  0174  0700     R  			MOV		A, BYTE_POS
 670  0175  0387        			ADDM	A, TBLP
 671  0176              		;==========================================================
 672  0176              		;	MOV		A, BYTE_REST
 673  0176              		;	SUB		A, 8
 674  0176              			
 675  0176              		;	SNZ		ACC.7		;!!!!!!!BUG
 676  0176              		;	JMP		GREATER_THAN_8
 677  0176              		;===========================================================
 678  0176  0700     R  			MOV	A, BYTE_REST
 679  0177  0080     R  			MOV	BIGGER_THAN_8_TEMP, A
 680  0178              			
 681  0178  3C00     R  			SZ	BIGGER_THAN_8_TEMP.7
 682  0179  2800     R  			JMP		GREATER_THAN_8
 683  017A  3C00     R  			SZ	BIGGER_THAN_8_TEMP.6
 684  017B  2800     R  			JMP		GREATER_THAN_8
 685  017C  3C00     R  			SZ	BIGGER_THAN_8_TEMP.5
 686  017D  2800     R  			JMP		GREATER_THAN_8
 687  017E  3C00     R  			SZ	BIGGER_THAN_8_TEMP.4
 688  017F  2800     R  			JMP		GREATER_THAN_8
 689  0180  3C00     R  			SZ	BIGGER_THAN_8_TEMP.3
 690  0181  2800     R  			JMP		GREATER_THAN_8
 691  0182              		;============================================================
 692  0182  0700     R  			MOV		A, BYTE_REST
 693  0183  0080     R  			MOV		USB_DATALENGTH, A
 694  0184  1F00     R  			CLR		BYTE_REST
 695  0185              
 696  0185  2800     R  			JMP		START_TO_WFIFO0
 697  0186              
 698  0186              	GREATER_THAN_8:
 699  0186  0F08        			MOV		A, 8
 700  0187  0080     R  			MOV		USB_DATALENGTH, A
 701  0188  0280     R  			SUBM	A, BYTE_REST
 702  0189  0180     R  			CPL		BYTE_REST
 703  018A  1480     R  			INC		BYTE_REST
 704  018B              
 705  018B              
 706  018B              	START_TO_WFIFO0:
 707  018B  0700     R  			MOV		A, USB_DATALENGTH
 708  018C  0080     R  			MOV		USB_LCOUNT, A	
 709  018D              
 710  018D  0F90        			MOV		A, EP0_BUFF
 711  018E  0081        			MOV		MP0, A
 712  018F              
 713  018F              		WFIFO0_MP0LOOP:
 714  018F  1D80        			TABRDL	ID0
 715  0190  1481        			INC		MP0
 716  0191  1580     R  			DEC		USB_LCOUNT
 717  0192  1080     R  			SZ		USB_LCOUNT
"File: USB_OPER.ASM  Holtek Cross-Assembler  Version 2.86      Page 13

 718  0193  2800     R  			JMP		NEXT_BB
 719  0194  2800     R  			JMP		GOTO_WFIFO0
 720  0195              
 721  0195              		NEXT_BB:
 722  0195  0708        			MOV		A, TBLH
 723  0196  0C7F        			XOR		A, 07FH
 724  0197  1085        			SZ		ACC
 725  0198  2800     R  			JMP		TAKE_H_BYTE
 726  0199              
 727  0199  1487        			INC		TBLP
 728  019A  1480     R  			INC		BYTE_POS
 729  019B  2800     R  			JMP		WFIFO0_MP0LOOP
 730  019C              
 731  019C              		TAKE_H_BYTE:
 732  019C  0708        			MOV		A, TBLH
 733  019D  0080        			MOV		ID0, A
 734  019E  1481        			INC		MP0
 735  019F  1487        			INC		TBLP
 736  01A0  1480     R  			INC		BYTE_POS			
 737  01A1  1780     R  			SDZ		USB_LCOUNT
 738  01A2  2800     R  			JMP		WFIFO0_MP0LOOP
 739  01A3  2800     R  			JMP		GOTO_WFIFO0_X
 740  01A4              	
 741  01A4              	GOTO_WFIFO0:
 742  01A4  1480     R  			INC		BYTE_POS	
 743  01A5              	GOTO_WFIFO0_X:
 744  01A5              
 745  01A5  0700     R  			MOV		A, USB_DATALENGTH
 746  01A6  0080     R  			MOV		USB_LCOUNT, A
 747  01A7              
 748  01A7  0F90        			MOV		A, EP0_BUFF
 749  01A8  0081        			MOV		MP0, A
 750  01A9              
 751  01A9  0F46        			MOV		A, MISC
 752  01AA  0083        			MOV		MP1, A
 753  01AB  1F02        			CLR		ID1
 754  01AC              
 755  01AC  3082        			SET		ID1.TX			
 756  01AD              
 757  01AD  2000     R  			CALL	USB_MISC_DELAY
 758  01AE              
 759  01AE  3002        			SET		ID1.REQ			
 760  01AF              
 761  01AF              	WFIFO0LOOP:
 762  01AF  0F46        			MOV		A, MISC
 763  01B0  0083        			MOV		MP1, A
 764  01B1              
 765  01B1  2000     R  			CALL	USB_MISC_DELAY
 766  01B2              
 767  01B2  3B02        			SNZ		ID1.READY
 768  01B3  2800     R  			JMP		EXIT_WRITE_FIFO0
 769  01B4              
 770  01B4  0F48        			MOV		A, FIFO0
 771  01B5  0083        			MOV		MP1, A
 772  01B6  0700        			MOV		A, ID0
 773  01B7  0082        			MOV		ID1, A
 774  01B8  1481        			INC		MP0
 775  01B9              	
 776  01B9  1780     R  			SDZ		USB_LCOUNT
 777  01BA  2800     R  			JMP		WFIFO0LOOP
"File: USB_OPER.ASM  Holtek Cross-Assembler  Version 2.86      Page 14

 778  01BB              
 779  01BB              	EXIT_WRITE_FIFO0:
 780  01BB  0F46        			MOV		A, MISC
 781  01BC  0083        			MOV		MP1, A
 782  01BD              
 783  01BD  3482        			CLR		ID1.TX
 784  01BE  2000     R  			CALL	USB_MISC_DELAY
 785  01BF              			
 786  01BF  3402        			CLR		ID1.REQ
 787  01C0              
 788  01C0  0003        			RET
 789  01C1              
 790  01C1              
 791  01C1              
 792  01C1              USB_MISC_DELAY:
 793  01C1  0000        			NOP
 794  01C2  0000        			NOP
 795  01C3  0000        			NOP
 796  01C4  0000        			NOP
 797  01C5  0000        			NOP
 798  01C6  0000        			NOP			
 799  01C7  0003        			RET
 800  01C8              
 801  01C8              WRITE_FIFO2:
 802  01C8  3400     R  			CLR		FIFO_WF
 803  01C9  0F00        			MOV		A, 0
 804  01CA  0084        			MOV		BP, A
 805  01CB              
 806  01CB  0FAC        			MOV		A, RF_INBUFF
 807  01CC  0081        			MOV		MP0, A
 808  01CD              
 809  01CD  0FA0        			MOV		A, EP2_BUFF
 810  01CE  0083        			MOV		MP1, A
 811  01CF              
 812  01CF  1481        			INC		MP0
 813  01D0  1481        			INC		MP0
 814  01D1  1481        			INC		MP0
 815  01D2              
 816  01D2  3800     R  			SNZ		NOT_BOOT_TYPE
 817  01D3  2800     R  			JMP		SKIP_REPORT_ID
 818  01D4              
 819  01D4  0F02        			MOV		A, 02H				;MOUSE REPORT ID
 820  01D5  0082        			MOV		ID1, A
 821  01D6  1483        			INC		MP1
 822  01D7              
 823  01D7              		SKIP_REPORT_ID:
 824  01D7              
 825  01D7  0700        			MOV		A, ID0				;MOUSE KEY STATUS
 826  01D8  0082        			MOV		ID1, A
 827  01D9  1481        			INC 	MP0
 828  01DA  1483        			INC		MP1
 829  01DB              		
 830  01DB  0700        			MOV		A, ID0				;X
 831  01DC  0082        			MOV		ID1, A
 832  01DD  1481        			INC		MP0
 833  01DE  1483        			INC		MP1
 834  01DF              
 835  01DF  0700        			MOV		A, ID0				;Y
 836  01E0  0082        			MOV		ID1, A
 837  01E1  1481        			INC		MP0
"File: USB_OPER.ASM  Holtek Cross-Assembler  Version 2.86      Page 15

 838  01E2  1483        			INC		MP1
 839  01E3              
 840  01E3  3800     R  			SNZ		NOT_BOOT_TYPE
 841  01E4  2800     R  			JMP		SKIP_WHEEL
 842  01E5              
 843  01E5  0700        			MOV		A, ID0				;Z
 844  01E6  0082        			MOV		ID1, A
 845  01E7              
 846  01E7              	SKIP_WHEEL:
 847  01E7              
 848  01E7  0F01        			MOV		A, 1
 849  01E8  0084        			MOV		BP, A
 850  01E9              
 851  01E9  0FA0        			MOV		A, EP2_BUFF
 852  01EA  0081        			MOV		MP0, A
 853  01EB              
 854  01EB  3800     R  			SNZ		NOT_BOOT_TYPE
 855  01EC  2800     R  			JMP		MOUSE_3_BYTE_IN
 856  01ED              
 857  01ED  0F05        			MOV		A, 5
 858  01EE  0080     R  			MOV		USB_LCOUNT, A
 859  01EF  2800     R  			JMP		MOUSE_NEXT
 860  01F0              
 861  01F0              	MOUSE_3_BYTE_IN:
 862  01F0              
 863  01F0  0F03        			MOV		A, 3
 864  01F1  0080     R  			MOV		USB_LCOUNT, A
 865  01F2              
 866  01F2              	MOUSE_NEXT:
 867  01F2  0F46        			MOV		A, MISC
 868  01F3  0083        			MOV		MP1, A
 869  01F4  1F02        			CLR		ID1
 870  01F5              
 871  01F5  0F10        			MOV		A, 010H
 872  01F6  0582        			ORM		A, ID1
 873  01F7              		
 874  01F7  2000     R  			CALL	USB_MISC_DELAY
 875  01F8              
 876  01F8  3082        			SET		ID1.TX			
 877  01F9              
 878  01F9  2000     R  			CALL	USB_MISC_DELAY
 879  01FA              
 880  01FA  3002        			SET		ID1.REQ			
 881  01FB              
 882  01FB              	WFIFO2LOOP:
 883  01FB  0F46        			MOV		A, MISC
 884  01FC  0083        			MOV		MP1, A
 885  01FD              
 886  01FD  2000     R  			CALL	USB_MISC_DELAY
 887  01FE              
 888  01FE  3B02        			SNZ		ID1.READY
 889  01FF  2800     R  			JMP		FAIL_WRITE_FIFO2
 890  0200              
 891  0200  0F4A        			MOV		A, FIFO2
 892  0201  0083        			MOV		MP1, A
 893  0202  0700        			MOV		A, ID0
 894  0203  0082        			MOV		ID1, A
 895  0204  1481        			INC		MP0
 896  0205              	
 897  0205  1780     R  			SDZ		USB_LCOUNT
"File: USB_OPER.ASM  Holtek Cross-Assembler  Version 2.86      Page 16

 898  0206  2800     R  			JMP		WFIFO2LOOP
 899  0207              
 900  0207  2800     R  			JMP		EXIT_WRITE_FIFO2
 901  0208              
 902  0208              	FAIL_WRITE_FIFO2:
 903  0208  3000     R  			SET		FIFO_WF
 904  0209              	EXIT_WRITE_FIFO2:
 905  0209  0F46        			MOV		A, MISC
 906  020A  0083        			MOV		MP1, A
 907  020B              
 908  020B  3482        			CLR		ID1.TX
 909  020C  2000     R  			CALL	USB_MISC_DELAY
 910  020D              			
 911  020D  3402        			CLR		ID1.REQ
 912  020E              
 913  020E  0003        			RET
 914  020F              
 915  020F              WRITE_FIFO2X:
 916  020F  3400     R  			CLR		FIFO_WF1
 917  0210  0F00        			MOV		A, 0
 918  0211  0084        			MOV		BP, A
 919  0212              
 920  0212  0FAC        			MOV		A, RF_INBUFF	;RECV FROM RF
 921  0213  0081        			MOV		MP0, A
 922  0214              

⌨️ 快捷键说明

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