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

📄 mouse.lis

📁 用ST92163开发的鼠标
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 256:../src/mouse.c **** 	else
 257:../src/mouse.c **** 	{
 258:../src/mouse.c **** 		mouse_length = 3 ;
 615 033b 2FF10300 		ld  	dpr:pof(@mouse_length),#3
 615      00
 616              	.LMM82:
 259:../src/mouse.c **** 		if( mouse_ret( 0xF2) == 0xFA)	/* READ_DT */
 618 0340 0CF2     		ld  	r0,#242
 619 0342 D2030C   		call 	@mouse_ret   
 620 0345 95D1FA   		cp   	r1,#250
 621 0348 EB17     		jxnz 	.L189
 622              	.LMM83:
 260:../src/mouse.c **** 		{
 261:../src/mouse.c **** 			BYTE id ;
 624              	.LBB5:
 625              	.LMM84:
 262:../src/mouse.c **** 
 263:../src/mouse.c **** 			id = mouse_read() ;
 627 034a D20183   		call 	@mouse_read   
 628              	.LMM85:
 264:../src/mouse.c **** 			if( ms_tout && (id == 3))
 630 034d 36910000 		cpw 	dpr:pof(@ms_tout),#0
 630      0000
 631 0353 6BDF     		jxz  	.L192
 632 0355 95D103   		cp   	r1,#3
 633 0358 EBDA     		jxnz 	.L192
 634              	.LMM86:
 265:../src/mouse.c **** 			{
 266:../src/mouse.c **** 				mouse_length += 1 ;
 636 035a 2F410100 		add  	dpr:pof(@mouse_length),#1
 636      00
 637              	.LMM87:
 267:../src/mouse.c **** //				if( mouse_ret( 0xE7) == 0xFA)	/* Set resolution */
 268:../src/mouse.c **** //				{
 269:../src/mouse.c **** //					if( mouse_ret( 0x03) == 0xFA)	/* 16 counts per mm */
 270:../src/mouse.c **** //					{
 271:../src/mouse.c **** //						nop() ;
 272:../src/mouse.c **** //					}
 273:../src/mouse.c **** //				}
 274:../src/mouse.c **** 			}
 275:../src/mouse.c **** 
 276:../src/mouse.c **** 			mouse_fsm += 1 ;
 277:../src/mouse.c **** 		}
 639              	.LBE5:
 640 035f 8BD3     		jxt  	.L192
 641              	.L189:
 642              	.LMM88:
 278:../src/mouse.c **** 		else
 279:../src/mouse.c **** 			mouse_fsm = 0 ;
 644 0361 2FF10000 		ld  	dpr:pof(@mouse_fsm),#0
 644      01
 645              	.L188:
 646              	.LMM89:
 280:../src/mouse.c **** 	}
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001896.s 			page 16


 281:../src/mouse.c **** 
 282:../src/mouse.c **** 	/* Release bus */
 283:../src/mouse.c **** 	CLK_HIGH() ;
 648 0366 F5E3FF   		ld  	@P3DR,#-1
 649              	.LMM90:
 284:../src/mouse.c **** 	ei() ;
 651              	; #APP
 652 0369 00       		ei
 653              	; #NO_APP
 654              	.LMM91:
 285:../src/mouse.c **** }
 656              	.LBE4:
 657 036a 46       		ret 
 658              		.endproc
 664              	.Lscope3:
 667              	
 668              		.globl mouse_poll
 669              	
 670              		.desc	mouse_poll, near
 671              		.proc	mouse_poll
 672              	mouse_poll:
 286:../src/mouse.c **** 
 287:../src/mouse.c **** void mouse_poll( void)
 288:../src/mouse.c **** {
 674 036b 66D8     		push 	r8
 675              	.LMM93:
 289:../src/mouse.c **** 	BYTE	ack ;
 677              	.LBB6:
 678              	.LMM94:
 290:../src/mouse.c **** 
 291:../src/mouse.c **** 	ack = mouse_ret( 0xEB) ; 
 680 036d 0CEB     		ld  	r0,#235
 681 036f D2030C   		call 	@mouse_ret   
 682 0372 88D1     		ld  	r8,r1
 683              	.LMM95:
 292:../src/mouse.c **** 	if( ack == 0xFA)	/* READ_DATA */
 685 0374 95D8FA   		cp   	r8,#250
 686 0377 EB52     		jxnz 	.L194
 687              	.LMM96:
 293:../src/mouse.c **** 	{
 294:../src/mouse.c **** 		Mouse_Buffer[ 0] = mouse_read() & 0x07 ;
 689 0379 D20183   		call 	@mouse_read   
 690 037c 15D107   		and 	r1,#7
 691 037f C5F10000 		ld  	dpr:pof(@Mouse_Buffer),r1
 692              	.LMM97:
 295:../src/mouse.c **** 		if( ms_tout)
 694 0383 36910000 		cpw 	dpr:pof(@ms_tout),#0
 694      0000
 695 0389 6B3D     		jxz  	.L195
 696              	.LMM98:
 296:../src/mouse.c **** 		{
 297:../src/mouse.c **** 			Mouse_Buffer[ 1] = mouse_read() ;
 698 038b D20183   		call 	@mouse_read   
 699 038e C5F10001 		ld  	dpr:pof(@Mouse_Buffer+1),r1
 700              	.LMM99:
 298:../src/mouse.c **** 			if( ms_tout)
 702 0392 36910000 		cpw 	dpr:pof(@ms_tout),#0
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001896.s 			page 17


 702      0000
 703 0398 6B36     		jxz  	.L200
 704              	.LMM100:
 299:../src/mouse.c **** 			{
 300:../src/mouse.c **** 				Mouse_Buffer[ 2] = (BYTE) -((signed char) mouse_read()) ;
 706 039a D20183   		call 	@mouse_read   
 707 039d 80D1     		cpl 	r1
 708 039f 50D1     		inc  	r1
 709 03a1 C5F10002 		ld  	dpr:pof(@Mouse_Buffer+2),r1
 710              	.LMM101:
 301:../src/mouse.c **** 				if( ms_tout && (mouse_length == 4))
 712 03a5 36910000 		cpw 	dpr:pof(@ms_tout),#0
 712      0000
 713 03ab 6B14     		jxz  	.L197
 714 03ad 2F910400 		cp   	dpr:pof(@mouse_length),#4
 714      00
 715 03b2 EB0D     		jxnz 	.L197
 716              	.LMM102:
 302:../src/mouse.c **** 				{
 303:../src/mouse.c **** 					Mouse_Buffer[ 3] = (BYTE) -((signed char) mouse_read()) ;
 718 03b4 D20183   		call 	@mouse_read   
 719 03b7 80D1     		cpl 	r1
 720 03b9 50D1     		inc  	r1
 721 03bb C5F10003 		ld  	dpr:pof(@Mouse_Buffer+3),r1
 722              	.LMM103:
 304:../src/mouse.c **** //					ms_data[ 3] = (BYTE) -((signed char) ms_data[ 3]) ;
 305:../src/mouse.c **** //					ms_data[ 3] ; // <<= 1 ; // 2 ;
 306:../src/mouse.c **** 				}
 724 03bf 8B0F     		jxt  	.L200
 725              	.L197:
 726              	.LMM104:
 307:../src/mouse.c **** 				else
 308:../src/mouse.c **** 				{
 309:../src/mouse.c **** 					Mouse_Buffer[ 3] = 0 ;
 728 03c1 2FF10000 		ld  	dpr:pof(@Mouse_Buffer+3),#0
 728      03
 729              	.LMM105:
 310:../src/mouse.c **** 				}
 311:../src/mouse.c **** 			}
 312:../src/mouse.c **** 		}
 731 03c6 8B08     		jxt  	.L200
 732              	.L195:
 733              	.LMM106:
 313:../src/mouse.c **** 		else
 314:../src/mouse.c **** 			nop() ;
 735              	; #APP
 736 03c8 FF       		nop
 737              	; #NO_APP
 738              	.LMM107:
 315:../src/mouse.c **** 	} else
 740 03c9 8B05     		jxt  	.L200
 741              	.L194:
 742              	.LMM108:
 316:../src/mouse.c **** 		mouse_fsm = 0 ;
 744 03cb 2FF10000 		ld  	dpr:pof(@mouse_fsm),#0
 744      01
 745              	.L200:
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001896.s 			page 18


 746              	.LMM109:
 317:../src/mouse.c **** 
 318:../src/mouse.c **** 	/* Release bus */
 319:../src/mouse.c **** 	CLK_HIGH() ;
 748 03d0 F5E3FF   		ld  	@P3DR,#-1
 749              	.LMM110:
 320:../src/mouse.c **** 	ei() ;
 751              	; #APP
 752 03d3 00       		ei
 753              	; #NO_APP
 754              	.LMM111:
 321:../src/mouse.c **** 
 322:../src/mouse.c **** 	if( ms_tout && (ack == 0xFA))
 756 03d4 36910000 		cpw 	dpr:pof(@ms_tout),#0
 756      0000
 757 03da 6B08     		jxz  	.L201
 758 03dc 95D8FA   		cp   	r8,#250
 759 03df EB03     		jxnz 	.L201
 760              	.LMM112:
 323:../src/mouse.c **** 		MOUSE_Send() ;
 762 03e1 D20409   		call 	@MOUSE_Send  
 763              	.L201:
 764              	.LMM113:
 324:../src/mouse.c **** }
 766              	.LBE6:
 767 03e4 76D8     		pop  	r8
 768 03e6 46       		ret 
 769              		.endproc
 773              	.Lscope4:
 775              	
 776              		.globl ENDPR5_A
 777              		.desc	ENDPR5_A, 8bit register
 778              	ENDPR5_A=	250
 780              	
 781              		.globl MOUSE_proc
 782              	
 783              		.desc	MOUSE_proc, near
 784              		.proc	MOUSE_proc
 785              	MOUSE_proc:
 325:../src/mouse.c **** 
 326:../src/mouse.c **** void MOUSE_proc( void)
 327:../src/mouse.c **** {
 787              	.LMM115:
 328:../src/mouse.c **** 	if( configuration_status[ 2])
 789 03e7 2F910000 		cp 	dpr:pof(@configuration_status+2),#0
 789      02
 790 03ec 6B1A     		jxz  	.L203
 791              	.LMM116:
 329:../src/mouse.c **** 	{
 330:../src/mouse.c **** //		spp( 4) ;
 331:../src/mouse.c **** //		if( (ENDPR5_A & 0x30) == 0x20 /* STAT_NAK */)
 332:../src/mouse.c **** //		{
 333:../src/mouse.c **** //			if( mouse_fsm < (MSINIT_SIZE + 1))
 334:../src/mouse.c **** //				mouse_init() ;
 335:../src/mouse.c **** //			else
 336:../src/mouse.c **** //				mouse_poll() ;
 337:../src/mouse.c **** //		}
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001896.s 			page 19


 338:../src/mouse.c **** 		if( mouse_fsm <= MSINIT_SIZE)
 793 03ee 2F910B00 		cp   	dpr:pof(@mouse_fsm),#11
 793      01
 794 03f3 BB04     		jxugt	.L204
 795              	.LMM117:
 339:../src/mouse.c **** 		{
 340:../src/mouse.c **** 			mouse_init() ;
 797 03f5 D2031A   		call 	@mouse_init  
 798              	.LMM118:
 341:../src/mouse.c **** 		}
 800 03f8 46       		ret
 801              	.L204:
 802              	.LMM119:
 342:../src/mouse.c **** 		else
 343:../src/mouse.c **** 		{
 344:../src/mouse.c **** 			spp( 4) ;
 804              	; #APP
 805 03f9 C712     		spp #4
 806              	; #NO_APP
 807              	.LMM120:
 345:../src/mouse.c **** 			if( (ENDPR5_A & 0x30) == 0x20 /* STAT_NAK */)
 809 03fb 08FA     		ld  	r0,@ENDPR5_A
 810 03fd 15D030   		and 	r0,#48
 811 0400 95D020   		cp   	r0,#32
 812 0403 EB03     		jxnz 	.L203
 813              	.LMM121:
 346:../src/mouse.c **** 			{
 347:../src/mouse.c **** 				mouse_poll() ;
 815 0405 D2036B   		call 	@mouse_poll  
 816              	.L203:
 817              	.LMM122:
 348:../src/mouse.c **** 			}
 349:../src/mouse.c **** 		}
 350:../src/mouse.c **** 	}
 351:../src/mouse.c **** }
 819 0408 46       		ret 
 820              		.endproc
 821              	.Lscope5:
 823              	
 824              		.section .data
 825              	
 826              		.desc	cnt$14, near
 827              	cnt$14:
 828 0002 04       		.byte	4
 829              	
 830              		.globl EP5TxAddr
 831              		.desc	EP5TxAddr, 16bit register
 832              	EP5TxAddr=	40
 833              	
 834              		.globl EP5TxCount
 835              		.desc	EP5TxCount, 16bit register
 836              	EP5TxCount=	42
 837              	
 838              		.section .text
 840              	
 841              		.desc	MOUSE_Send, near
 842              		.proc	MOUSE_Send
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001896.s 			page 20


 843              	MOUSE_Send:
 352:../src/mouse.c **** 
 353:../src/mouse.c **** static void MOUSE_Send( void)
 354:../src/mouse.c **** {
 845              	.LMM124:
 355:../src/mouse.c **** 	static BYTE	cnt = 4 ;
 847              	.LBB7:
 848              	.LMM125:
 356:../src/mouse.c **** 
 357:../src/mouse.c **** 	if( !Mouse_Buffer[ 0] &&
 850 0409 2F910000 		cp 	dpr:pof(@Mouse_Buffer),#0
 850      00
 851 040e EB23     		jxnz 	.L208
 852 0410 2F910000 		cp 	dpr:pof(@Mouse_Buffer+1),#0
 852      01
 853 0415 EB1C     		jxnz 	.L208
 854 0417 2F910000 		cp 	dpr:pof(@Mouse_Buffer+2),#0
 854      02
 855 041c EB15     		jxnz 	.L208
 856 041e 2F910000 		cp 	dpr:pof(@Mouse_Buffer+3),#0
 856      03
 857 0423 EB0E     		jxnz 	.L208
 858              	.LMM126:
 358:../src/mouse.c **** 		!Mouse_Buffer[ 1] &&
 359:../src/mouse.c **** 		!Mouse_Buffer[ 2] &&
 360:../src/mouse.c **** 		!Mouse_Buffer[ 3])
 361:../src/mouse.c **** 	{
 362:../src/mouse.c **** 		if( cnt)
 860 0425 2F910000 		cp 	dpr:pof(@cnt$14),#0
 860      02
 861 042a 6B20     		jxz  	.L211
 862              	.LMM127:
 363:../src/mouse.c **** 			cnt-- ;
 864 042c 2F41FF00 		add  	dpr:pof(@cnt$14),#-1
 864      02
 865              	.LMM128:
 364:../src/mouse.c **** 	}
 867 0431 8B05     		jxt  	.L210
 868              	.L208:
 869              	.LMM129:
 365:../src/mouse.c **** 	else
 366:../src/mouse.c **** 	{
 367:../src/mouse.c **** 		cnt = 4 ;
 871 0433 2FF10400 		ld  	dpr:pof(@cnt$14),#4
 871      02
 872              	.L210:
 873              	.LMM130:
 368:../src/mouse.c **** 	}
 369:../src/mouse.c **** 
 370:../src/mouse.c **** 	if( cnt)
 875 0438 2F910000 		cp 	dpr:pof(@cnt$14),#0
 875      02
 876 043d 6B0D     		jxz  	.L211
 877              	.LMM131:
 371:../src/mouse.c **** 	{
 372:../src/mouse.c **** 		EP5TxAddr = Mouse_Buffer ;
 879 043f BF280000 		ldw  	@EP5TxAddr,#dpr:pof(@Mouse_Buffer)
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001896.s 			page 21


 880              	.LMM132:
 373:../src/mouse.c **** 		EP5TxCount = sizeof Mouse_Buffer ;
 882 0443 BF2A0004 		ldw  	@EP5TxCount,#4
 883              	.LMM133:
 374:../src/mouse.c **** 		spp( 4) ;
 885              	; #APP
 886 0447 C712     		spp #4
 887              	; #NO_APP
 888              	.LMM134:
 375:../src/mouse.c **** 		ENDPR5_A |= 0x30 ;	/* Tx Valid */
 890 0449 05FA30   		or 	@ENDPR5_A,#48
 891              	.L211:
 892              	.LMM135:
 376:../src/mouse.c **** 	}
 377:../src/mouse.c **** }
 894              	.LBE7:
 895 044c 46       		ret 
 896              		.endproc
 900              	.Lscope6:
 902              	
 903              		.globl ENDPR4_A
 904              		.desc	ENDPR4_A, 8bit register
 905              	ENDPR4_A=	248
 906              	
 907              		.globl EP4RxAddr
 908              		.desc	EP4RxAddr, 16bit register
 909              	EP4RxAddr=	36
 910              	
 911              		.globl EP4RxCount
 912              		.desc	EP4RxCount, 16bit register
 913              	EP4RxCount=	38
 914              	
 915              		.globl EP4TxAddr
 916              		.desc	EP4TxAddr, 16bit register
 917              	EP4TxAddr=	32
 918              	
 919              		.globl ENDPR4_B
 920              		.desc	ENDPR4_B, 8bit register
 921              	ENDPR4_B=	249
 922              	
 923              		.globl ENDPR5_B
 924              		.desc	ENDPR5_B, 8bit register
 925              	ENDPR5_B=	251
 926              	
 927              		.globl DADDR2
 928              		.desc	DADDR2, 8bit register
 929              	DADDR2=	242
 931              	
 932              		.globl MOUSE_reset
 933              	
 934              		.desc	MOUSE_reset, near
 935              		.proc	MOUSE_reset
 936              	MOUSE_reset:
 378:../src/mouse.c **** 
 379:../src/mouse.c **** void MOUSE_reset( void)
 380:../src/mouse.c **** {
 938              	.LMM137:
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001896.s 			page 22


 381:../src/mouse.c **** /* Always called in Endpoint 0 (HUB) context */
 382:../src/mouse.c **** 	spp( 4) ;
 940              	; #APP
 941 044d C712     		spp #4
 942              	; #NO_APP
 943              	.LMM138:

⌨️ 快捷键说明

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