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

📄 mouse.lis

📁 用ST92163开发的鼠标
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 285              	; #APP
 286 016a 00       		ei
 287              	; #NO_APP
 288              	.LMM32:
 152:../src/mouse.c **** 		ms_tout = 0x17F ;	/* Delay for Logitech mouse */
 153:../src/mouse.c **** 		while( ms_tout--)
 290 016b 36F1017E 		ldw  	dpr:pof(@ms_tout),#382
 290      0000
 291              	.L75:
 292 0171 E2F00000 		ldw  	rr0,dpr:pof(@ms_tout)
 293 0175 3641FFFF 		addw 	dpr:pof(@ms_tout),#-1
 293      0000
 294 017b 0E00     		orw 	rr0,rr0
 295 017d EBF2     		jxnz 	.L75
 296              	.L74:
 297              	.LMM33:
 154:../src/mouse.c **** 			;
 155:../src/mouse.c **** 	}
 156:../src/mouse.c **** 
 157:../src/mouse.c **** 	ei() ;
 299              	; #APP
 300 017f 00       		ei
 301              	; #NO_APP
 302              	.LMM34:
 158:../src/mouse.c **** 	return parity ;
 304 0180 18D2     		ld  	r1,r2
 305              	.LMM35:
 159:../src/mouse.c **** }
 307              	.LBE2:
 308 0182 46       		ret 
 309              		.endproc
 314              	.Lscope0:
 317              	
 318              		.globl mouse_read
 319              	
 320              		.desc	mouse_read, near
 321              		.proc	mouse_read
 322              	mouse_read:
 160:../src/mouse.c **** 
 161:../src/mouse.c **** unsigned char mouse_read( void)
 162:../src/mouse.c **** {
 324              	.LMM37:
 163:../src/mouse.c **** 	unsigned char	data = 0 ;
 326              	.LBB3:
 327 0183 90D4     		clr 	r4
 328              	.LMM38:
 164:../src/mouse.c **** 	unsigned char	cnt ;
 165:../src/mouse.c **** 	unsigned char	parity ;
 166:../src/mouse.c **** //	unsigned char	error ;
 167:../src/mouse.c **** 
 168:../src/mouse.c **** 	spp( P3C_PG) ;
 330              	; #APP
 331 0185 C70A     		spp #2
 332              	; #NO_APP
 333              	.LMM39:
 169:../src/mouse.c **** 	di() ;
 335              	; #APP
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001896.s 			page 9


 336 0187 10       		di
 337              	; #NO_APP
 338              	.LMM40:
 170:../src/mouse.c **** 
 171:../src/mouse.c **** /* Release bus == enable transmission */
 172:../src/mouse.c **** 	CLK_HIGH() ;
 340 0188 F5E3FF   		ld  	@P3DR,#-1
 341              	.LMM41:
 173:../src/mouse.c **** 	WAIT_CLK_HIGH() ;
 343 018b 36F101FF 		ldw  	dpr:pof(@ms_tout),#511
 343      0000
 344 0191 A5E320   		tm   	@P3DR,#32
 345 0194 EB0E     		jxnz 	.L91
 346              	.L92:
 347 0196 3641FFFF 		addw 	dpr:pof(@ms_tout),#-1
 347      0000
 348 019c 6D02C7   		jxz  	.L179
 349 019f A5E320   		tm   	@P3DR,#32
 350 01a2 6BF2     		jxz  	.L92
 351              	.L91:
 352 01a4 36910000 		cpw 	dpr:pof(@ms_tout),#0
 352      0000
 353 01aa 6D02C7   		jxz  	.L179
 354              	.LMM42:
 174:../src/mouse.c **** 
 175:../src/mouse.c **** /* Start bit */
 176:../src/mouse.c **** 	WAIT_CLK_LOW() ;
 356 01ad 36F101FF 		ldw  	dpr:pof(@ms_tout),#511
 356      0000
 357 01b3 A5E320   		tm   	@P3DR,#32
 358 01b6 6B0E     		jxz  	.L98
 359              	.L99:
 360 01b8 3641FFFF 		addw 	dpr:pof(@ms_tout),#-1
 360      0000
 361 01be 6D02C7   		jxz  	.L179
 362 01c1 A5E320   		tm   	@P3DR,#32
 363 01c4 EBF2     		jxnz 	.L99
 364              	.L98:
 365 01c6 36910000 		cpw 	dpr:pof(@ms_tout),#0
 365      0000
 366 01cc 6D02C7   		jxz  	.L179
 367              	.LMM43:
 177:../src/mouse.c **** 	parity = 0 ;
 369 01cf 90D1     		clr 	r1
 370              	.LMM44:
 178:../src/mouse.c **** //	error = 0 ;
 179:../src/mouse.c **** 	WAIT_CLK_HIGH() ;
 372 01d1 36F101FF 		ldw  	dpr:pof(@ms_tout),#511
 372      0000
 373 01d7 A5E320   		tm   	@P3DR,#32
 374 01da EB0E     		jxnz 	.L105
 375              	.L106:
 376 01dc 3641FFFF 		addw 	dpr:pof(@ms_tout),#-1
 376      0000
 377 01e2 6D02C7   		jxz  	.L179
 378 01e5 A5E320   		tm   	@P3DR,#32
 379 01e8 6BF2     		jxz  	.L106
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001896.s 			page 10


 380              	.L105:
 381 01ea 36910000 		cpw 	dpr:pof(@ms_tout),#0
 381      0000
 382 01f0 6D02C7   		jxz  	.L179
 383              	.LMM45:
 180:../src/mouse.c **** 	for( cnt = 0 ; cnt < 8 ; cnt++)
 385 01f3 90D0     		clr 	r0
 386 01f5 BFD201FF 		ldw  	rr2,#511
 387              	.L114:
 388              	.LMM46:
 181:../src/mouse.c **** 	{
 182:../src/mouse.c **** 		WAIT_CLK_LOW() ;
 390 01f9 E2F30000 		ldw  	dpr:pof(@ms_tout),rr2
 391 01fd A5E320   		tm   	@P3DR,#32
 392 0200 6B0E     		jxz  	.L116
 393              	.L117:
 394 0202 3641FFFF 		addw 	dpr:pof(@ms_tout),#-1
 394      0000
 395 0208 6D02C7   		jxz  	.L179
 396 020b A5E320   		tm   	@P3DR,#32
 397 020e EBF2     		jxnz 	.L117
 398              	.L116:
 399 0210 36910000 		cpw 	dpr:pof(@ms_tout),#0
 399      0000
 400 0216 6D02C7   		jxz  	.L179
 401              	.LMM47:
 183:../src/mouse.c **** 		data >>= 1 ;
 403 0219 11       		rcf  
 404 021a D0D4     		rrc  	r4
 405              	.LMM48:
 184:../src/mouse.c **** 		if( DATA_IS_HIGH())
 407 021c A5E310   		tm   	@P3DR,#16
 408 021f 6B07     		jxz  	.L122
 409              	.LMM49:
 185:../src/mouse.c **** 		{
 186:../src/mouse.c **** 			data |= 0x80 ;
 411 0221 0FE4     		bset 	r4.7
 412              	.LMM50:
 187:../src/mouse.c **** 			parity ^= 1 ;
 414 0223 65D101   		xor 	r1,#1
 415              	.LMM51:
 188:../src/mouse.c **** 		}
 417 0226 8B02     		jxt  	.L123
 418              	.L122:
 419              	.LMM52:
 189:../src/mouse.c **** 		else
 190:../src/mouse.c **** 		{
 191:../src/mouse.c **** 			data &= ~0x80 ;
 421 0228 1FE4     		bres	r4.7
 422              	.L123:
 423              	.LMM53:
 192:../src/mouse.c **** 		}
 193:../src/mouse.c **** 
 194:../src/mouse.c **** 		WAIT_CLK_HIGH() ;
 425 022a E2F30000 		ldw  	dpr:pof(@ms_tout),rr2
 426 022e A5E320   		tm   	@P3DR,#32
 427 0231 EB0E     		jxnz 	.L125
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001896.s 			page 11


 428              	.L126:
 429 0233 3641FFFF 		addw 	dpr:pof(@ms_tout),#-1
 429      0000
 430 0239 6D02C7   		jxz  	.L179
 431 023c A5E320   		tm   	@P3DR,#32
 432 023f 6BF2     		jxz  	.L126
 433              	.L125:
 434 0241 36910000 		cpw 	dpr:pof(@ms_tout),#0
 434      0000
 435 0247 6B7E     		jxz  	.L179
 436              	.LMM54:
 438 0249 50D0     		inc  	r0
 439 024b 95D007   		cp   	r0,#7
 440 024e 3BA9     		jxule	.L114
 441              	.LMM55:
 195:../src/mouse.c **** 	}
 196:../src/mouse.c **** 
 197:../src/mouse.c **** /* Parity */
 198:../src/mouse.c **** 	WAIT_CLK_LOW() ;
 443 0250 36F101FF 		ldw  	dpr:pof(@ms_tout),#511
 443      0000
 444 0256 A5E320   		tm   	@P3DR,#32
 445 0259 6B0D     		jxz  	.L133
 446              	.L134:
 447 025b 3641FFFF 		addw 	dpr:pof(@ms_tout),#-1
 447      0000
 448 0261 6B64     		jxz  	.L179
 449 0263 A5E320   		tm   	@P3DR,#32
 450 0266 EBF3     		jxnz 	.L134
 451              	.L133:
 452 0268 36910000 		cpw 	dpr:pof(@ms_tout),#0
 452      0000
 453 026e 6B57     		jxz  	.L179
 454              	.LMM56:
 199:../src/mouse.c **** 	if( DATA_IS_HIGH())
 456 0270 A5E310   		tm   	@P3DR,#16
 457 0273 6B03     		jxz  	.L139
 458              	.LMM57:
 200:../src/mouse.c **** 	{
 201:../src/mouse.c **** 		parity ^= 1 ;
 460 0275 65D101   		xor 	r1,#1
 461              	.L139:
 462              	.LMM58:
 202:../src/mouse.c **** 	}
 203:../src/mouse.c **** 
 204:../src/mouse.c **** 	if( !parity)
 464 0278 0211     		or 	r1,r1
 465 027a 6B45     		jxz  	.L178
 466              	.LMM59:
 205:../src/mouse.c **** 	{
 206:../src/mouse.c **** 	/* Parity error */
 207:../src/mouse.c **** //		error += 1 ;
 208:../src/mouse.c **** 		FAIL() ;
 209:../src/mouse.c **** 	}
 210:../src/mouse.c **** 
 211:../src/mouse.c **** 	WAIT_CLK_HIGH() ;
 468 027c 36F101FF 		ldw  	dpr:pof(@ms_tout),#511
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001896.s 			page 12


 468      0000
 469 0282 A5E320   		tm   	@P3DR,#32
 470 0285 EB0D     		jxnz 	.L142
 471              	.L143:
 472 0287 3641FFFF 		addw 	dpr:pof(@ms_tout),#-1
 472      0000
 473 028d 6B38     		jxz  	.L179
 474 028f A5E320   		tm   	@P3DR,#32
 475 0292 6BF3     		jxz  	.L143
 476              	.L142:
 477 0294 36910000 		cpw 	dpr:pof(@ms_tout),#0
 477      0000
 478 029a 6B2B     		jxz  	.L179
 479              	.LMM60:
 212:../src/mouse.c **** 
 213:../src/mouse.c **** /* Stop bit */
 214:../src/mouse.c **** 	WAIT_CLK_LOW() ;
 481 029c 36F101FF 		ldw  	dpr:pof(@ms_tout),#511
 481      0000
 482 02a2 A5E320   		tm   	@P3DR,#32
 483 02a5 6B0D     		jxz  	.L149
 484              	.L150:
 485 02a7 3641FFFF 		addw 	dpr:pof(@ms_tout),#-1
 485      0000
 486 02ad 6B18     		jxz  	.L179
 487 02af A5E320   		tm   	@P3DR,#32
 488 02b2 EBF3     		jxnz 	.L150
 489              	.L149:
 490 02b4 36910000 		cpw 	dpr:pof(@ms_tout),#0
 490      0000
 491 02ba 6B0B     		jxz  	.L179
 492              	.LMM61:
 215:../src/mouse.c **** 
 216:../src/mouse.c **** 	if( !DATA_IS_HIGH())
 494 02bc A5E310   		tm   	@P3DR,#16
 495 02bf EB09     		jxnz 	.L155
 496              	.LMM62:
 217:../src/mouse.c **** 	{
 218:../src/mouse.c **** 	/* Stop bit error */
 219:../src/mouse.c **** //		error += 1 ;
 220:../src/mouse.c **** 		FAIL() ;
 498              	.L178:
 499 02c1 36F10000 		ldw  	dpr:pof(@ms_tout),#0
 499      0000
 500              	.L179:
 501 02c7 1C01     		ld  	r1,#1
 502 02c9 46       		ret
 503              	.L155:
 504              	.LMM63:
 221:../src/mouse.c **** 	}
 222:../src/mouse.c **** 	else
 223:../src/mouse.c **** 	{
 224:../src/mouse.c **** 		WAIT_CLK_HIGH() ;
 506 02ca 36F101FF 		ldw  	dpr:pof(@ms_tout),#511
 506      0000
 507 02d0 A5E320   		tm   	@P3DR,#32
 508 02d3 EB0D     		jxnz 	.L158
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001896.s 			page 13


 509              	.L159:
 510 02d5 3641FFFF 		addw 	dpr:pof(@ms_tout),#-1
 510      0000
 511 02db 6BEA     		jxz  	.L179
 512 02dd A5E320   		tm   	@P3DR,#32
 513 02e0 6BF3     		jxz  	.L159
 514              	.L158:
 515 02e2 36910000 		cpw 	dpr:pof(@ms_tout),#0
 515      0000
 516 02e8 6BDD     		jxz  	.L179
 517              	.LMM64:
 225:../src/mouse.c **** 		CLK_LOW() ;	/* Inhibit IO */
 519 02ea F5E3DF   		ld  	@P3DR,#-33
 520              	.LMM65:
 226:../src/mouse.c **** 		ei() ;
 522              	; #APP
 523 02ed 00       		ei
 524              	; #NO_APP
 525              	.LMM66:
 227:../src/mouse.c **** 		ms_tout = 0x17F ;	/* Delay for Logitech mouse */
 228:../src/mouse.c **** 		while( ms_tout--)
 527 02ee 36F1017E 		ldw  	dpr:pof(@ms_tout),#382
 527      0000
 528              	.L164:
 529 02f4 E2F00000 		ldw  	rr0,dpr:pof(@ms_tout)
 530 02f8 3641FFFF 		addw 	dpr:pof(@ms_tout),#-1
 530      0000
 531 02fe 0E00     		orw 	rr0,rr0
 532 0300 EBF2     		jxnz 	.L164
 533              	.LMM67:
 229:../src/mouse.c **** 			;
 230:../src/mouse.c **** 			
 231:../src/mouse.c **** 		ms_tout = 1 ;
 535 0302 36F10001 		ldw  	dpr:pof(@ms_tout),#1
 535      0000
 536              	.LMM68:
 232:../src/mouse.c **** 	}
 233:../src/mouse.c **** 
 234:../src/mouse.c **** 	ei() ;
 538              	; #APP
 539 0308 00       		ei
 540              	; #NO_APP
 541              	.LMM69:
 235:../src/mouse.c **** 	return data ;
 543 0309 18D4     		ld  	r1,r4
 544              	.LMM70:
 236:../src/mouse.c **** }
 546              	.LBE3:
 547 030b 46       		ret 
 548              		.endproc
 554              	.Lscope1:
 558              	
 559              		.globl mouse_ret
 560              	
 561              		.desc	mouse_ret, near
 562              		.proc	mouse_ret
 563              	mouse_ret:
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001896.s 			page 14


 237:../src/mouse.c **** 
 238:../src/mouse.c **** BYTE mouse_ret( BYTE val)
 239:../src/mouse.c **** {
 565              	.LMM72:
 240:../src/mouse.c **** 	if( !mouse_cmd( val))
 567 030c D20000   		call 	@mouse_cmd   
 568 030f 0211     		or 	r1,r1
 569 0311 6B03     		jxz  	.L181
 570              	.LMM73:
 241:../src/mouse.c **** 		return mouse_read() ;
 242:../src/mouse.c **** 	else
 243:../src/mouse.c **** 		return 1 ;
 572 0313 1C01     		ld  	r1,#1
 573 0315 46       		ret
 574              	.L181:
 575              	.LMM74:
 577 0316 D20183   		call 	@mouse_read   
 578              	.LMM75:
 244:../src/mouse.c **** }
 580 0319 46       		ret 
 581              		.endproc
 582              	.Lscope2:
 585              	
 586              		.globl mouse_init
 587              	
 588              		.desc	mouse_init, near
 589              		.proc	mouse_init
 590              	mouse_init:
 245:../src/mouse.c **** 
 246:../src/mouse.c **** void mouse_init( void)
 247:../src/mouse.c **** {
 592              	.LMM77:
 248:../src/mouse.c **** 	if( mouse_fsm < MSINIT_SIZE)
 594              	.LBB4:
 595 031a 2F910A00 		cp   	dpr:pof(@mouse_fsm),#10
 595      01
 596 031f BB1A     		jxugt	.L185
 597              	.LMM78:
 249:../src/mouse.c **** 	{
 250:../src/mouse.c **** 		if( mouse_ret( mouse_str[ mouse_fsm]) == 0xFA)
 599 0321 C4F10001 		ld   	r1,dpr:pof(@mouse_fsm)
 600 0325 0C00     		ld   	r0,#0
 601 0327 7FF00000 		ld  	r0,dpr:pof(@mouse_str)(rr0)
 601      D0
 602 032c D2030C   		call 	@mouse_ret   
 603 032f 95D1FA   		cp   	r1,#250
 604 0332 EB2D     		jxnz 	.L189
 605              	.LMM79:
 251:../src/mouse.c **** 		{
 252:../src/mouse.c **** 			mouse_fsm += 1 ;
 607              	.L192:
 608 0334 2F410100 		add  	dpr:pof(@mouse_fsm),#1
 608      01
 609              	.LMM80:
 253:../src/mouse.c **** 		} else
 611 0339 8B2B     		jxt  	.L188
 612              	.L185:
GAS LISTING C:\DOCUME~1\REF\LOCALS~1\Temp\cc001896.s 			page 15


 613              	.LMM81:
 254:../src/mouse.c **** 			mouse_fsm = 0 ;
 255:../src/mouse.c **** 	}

⌨️ 快捷键说明

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