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

📄 main.s

📁 cypresscy74294ic键盘和鼠标原码
💻 S
📖 第 1 页 / 共 3 页
字号:
	asl A
	asl A
	mov [__r0],A
	and [__r0],32
	mov REG[0xd0],>_KeyProStatus
	mov A,[_KeyProStatus]
	and A,-33
	mov REG[0xd0],>__r0
	or A,[__r0]
	mov REG[0xd0],>_KeyProStatus
	mov [_KeyProStatus],A
	.dbline 323
; }
	xjmp L47
L57:
	.dbline 325
; }
; }
	mov REG[0xd0],>_KeyProStatus
	mov A,[_KeyProStatus]
	mov REG[0xd0],>__r0
	asr A
	asr A
	asr A
	asr A
	asr A
	asr A
	asr A
	and A,1
	mov [__r0],A
	and [__r0],1
	cmp [__r0],0
	jz L59
	mov [X+10],0
	mov [X+9],0
	xjmp L60
L59:
	mov [X+10],1
	mov [X+9],0
L60:
	mov REG[0xd0],>__r0
	mov A,[X+10]
	mov [__r0],A
	and [__r0],1
	mov A,[__r0]
	asl A
	asl A
	asl A
	asl A
	asl A
	asl A
	asl A
	mov [__r0],A
	and [__r0],-128
	mov REG[0xd0],>_KeyProStatus
	mov A,[_KeyProStatus]
	and A,127
	mov REG[0xd0],>__r0
	or A,[__r0]
	mov REG[0xd0],>_KeyProStatus
	mov [_KeyProStatus],A
	.dbline 327
; }
; }
	xjmp L47
L61:
	.dbline 329
; }
; }
	mov REG[0xd0],>_KeyProStatus
	mov A,[_KeyProStatus]
	mov REG[0xd0],>__r0
	asr A
	asr A
	asr A
	asr A
	and A,15
	mov [__r0],A
	and [__r0],1
	cmp [__r0],0
	jz L63
	mov [X+12],0
	mov [X+11],0
	xjmp L64
L63:
	mov [X+12],1
	mov [X+11],0
L64:
	mov REG[0xd0],>__r0
	mov A,[X+12]
	mov [__r0],A
	and [__r0],1
	mov A,[__r0]
	asl A
	asl A
	asl A
	asl A
	mov [__r0],A
	and [__r0],16
	mov REG[0xd0],>_KeyProStatus
	mov A,[_KeyProStatus]
	and A,-17
	mov REG[0xd0],>__r0
	or A,[__r0]
	mov REG[0xd0],>_KeyProStatus
	mov [_KeyProStatus],A
	.dbline 330
; }
	xjmp L47
L65:
	.dbline 332
; }
; }
	mov REG[0xd0],>_KeyProStatus
	mov A,[_KeyProStatus]
	mov REG[0xd0],>__r0
	asr A
	asr A
	asr A
	and A,31
	mov [__r0],A
	and [__r0],1
	cmp [__r0],0
	jz L67
	mov [X+14],0
	mov [X+13],0
	xjmp L68
L67:
	mov [X+14],1
	mov [X+13],0
L68:
	mov REG[0xd0],>__r0
	mov A,[X+14]
	mov [__r0],A
	and [__r0],1
	mov A,[__r0]
	asl A
	asl A
	asl A
	mov [__r0],A
	and [__r0],8
	mov REG[0xd0],>_KeyProStatus
	mov A,[_KeyProStatus]
	and A,-9
	mov REG[0xd0],>__r0
	or A,[__r0]
	mov REG[0xd0],>_KeyProStatus
	mov [_KeyProStatus],A
	.dbline 333
; }
	mov A,[_KeyProStatus]
	mov REG[0xd0],>__r0
	asr A
	asr A
	asr A
	and A,31
	mov [__r0],A
	and [__r0],1
	push X
	mov A,[__r0]
	xcall _LED_ShiftCAP_Switch
	pop X
	.dbline 334
; }
L46:
L47:
	.dbline -2
	.dbline 336
; }
; }
L44:
	add SP,-15
	pop X
	.dbline 0 ; func end
	ret
	.dbsym l ChrIndex 2 c
	.dbsym l ch_str 0 A[2:2]c
	.dbsym l C_Code -4 c
	.dbend
	.dbfunc e SearchKeyTab _SearchKeyTab fc
;       TabIndex -> X+1
;       ChrIndex -> X+0
;  AppendKeycode -> X-6
;     RealKeyNum -> X-4
_SearchKeyTab::
	.dbline -1
	push X
	mov X,SP
	add SP,4
	.dbline 345
; }
; }
; }
; }
; }
; }
; }
; }
; }
	.dbline 346
; }
	mov [X+1],0
	.dbline 349
; }
; }
; }
	mov REG[0xd0],>__r0
	mov A,[X-5]
	mov [__r1],A
	mov A,[X-6]
	mov REG[0xd5],A
	mov A,0
	mvi [__r1],A
	.dbline 351
; }
; }
	mov REG[0xd0],>_KeyProStatus
	mov A,[_KeyProStatus]
	mov REG[0xd0],>__r0
	asr A
	asr A
	asr A
	asr A
	asr A
	asr A
	and A,3
	mov [__r0],A
	and [__r0],1
	mov A,[__r0]
	mov [X+0],A
	.dbline 352
; }
	mov REG[0xd0],>_KeyProStatus
	mov A,[_KeyProStatus]
	mov REG[0xd0],>__r0
	asr A
	asr A
	asr A
	asr A
	asr A
	and A,7
	mov [__r0],A
	and [__r0],1
	asl [__r0]
	mov A,[X+0]
	or A,[__r0]
	mov [X+0],A
	.dbline 353
; }
	mov REG[0xd0],>_KeyProStatus
	mov A,[_KeyProStatus]
	mov REG[0xd0],>__r0
	asr A
	asr A
	asr A
	asr A
	asr A
	asr A
	asr A
	and A,1
	mov [__r0],A
	and [__r0],1
	asl [__r0]
	asl [__r0]
	mov A,[X+0]
	or A,[__r0]
	mov [X+0],A
	.dbline 354
; }
	mov REG[0xd0],>_KeyProStatus
	mov A,[_KeyProStatus]
	mov REG[0xd0],>__r0
	asr A
	asr A
	asr A
	asr A
	and A,15
	mov [__r0],A
	and [__r0],1
	mov A,[__r0]
	asl A
	asl A
	asl A
	mov [__r0],A
	mov A,[X+0]
	or A,[__r0]
	mov [X+0],A
	.dbline 355
; }
	mov REG[0xd0],>_KeyProStatus
	mov A,[_KeyProStatus]
	mov REG[0xd0],>__r0
	asr A
	asr A
	asr A
	and A,31
	mov [__r0],A
	and [__r0],1
	mov A,[__r0]
	asl A
	asl A
	asl A
	asl A
	mov [__r0],A
	mov A,[X+0]
	or A,[__r0]
	mov [X+0],A
	.dbline 356
; }
	cmp [X+0],0
	jnz L70
	.dbline 357
; }
	.dbline 358
; }
	mov A,[X-4]
	mov [__r1],A
	mov A,0
	push A
	mov A,[__r1]
	push A
	mov A,0
	push A
	mov A,3
	push A
	xcall __mul16
	add SP,-4
	mov A,[__rX]
	mov [__r1],A
	mov A,[__rY]
	mov [__r0],A
	add [__r1],<_FirstKeyArray
	adc [__r0],>_FirstKeyArray
	mov A,[__r0]
	push X
	mov X,[__r1]
	romx
	pop X
	cmp A,31
	jnz L72
	.dbline 359
; }
	.dbline 360
; }
	mov A,[X-5]
	mov [__r1],A
	mov A,[X-6]
	mov REG[0xd5],A
	mov A,2
	mvi [__r1],A
	.dbline 361
; }
	mov A,[X-4]
	mov [__r1],A
	mov A,0
	push A
	mov A,[__r1]
	push A
	mov A,0
	push A
	mov A,3
	push A
	xcall __mul16
	add SP,-4
	mov A,[__rX]
	mov [__r1],A
	mov A,[__rY]
	mov [__r0],A
	add [__r1],<_FirstKeyArray
	adc [__r0],>_FirstKeyArray
	mov A,[__r0]
	push X
	mov X,[__r1]
	romx
	pop X
	xjmp L69
L72:
	.dbline 364
; }
; }
; }
	mov REG[0xd0],>__r0
	mov A,[X-4]
	mov [__r1],A
	mov A,0
	push A
	mov A,[__r1]
	push A
	mov A,0
	push A
	mov A,3
	push A
	xcall __mul16
	add SP,-4
	mov A,[__rX]
	mov [__r1],A
	mov A,[__rY]
	mov [__r0],A
	add [__r1],<_FirstKeyArray
	adc [__r0],>_FirstKeyArray
	mov A,[__r0]
	push X
	mov X,[__r1]
	romx
	pop X
	xjmp L69
L70:
	.dbline 367
; }
; }
; }
	mov REG[0xd0],>__r0
	mov A,[X-4]
	mov [__r1],A
	mov A,0
	push A
	mov A,[__r1]
	push A
	mov A,0
	push A
	mov A,3
	push A
	xcall __mul16
	add SP,-4
	mov A,[__rX]
	mov [__r1],A
	mov A,[__rY]
	mov [__r0],A
	add [__r1],<_FirstKeyArray
	adc [__r0],>_FirstKeyArray
	mov A,[__r0]
	push X
	mov X,[__r1]
	romx
	pop X
	mov [__r0],A
	mov A,-96
	cmp A,[__r0]
	jnc L74
X19:
	.dbline 368
; }
	mov REG[0xd0],>__r0
	mov A,[X-4]
	mov [__r1],A
	mov A,0
	push A
	mov A,[__r1]
	push A
	mov A,0
	push A
	mov A,3
	push A
	xcall __mul16
	add SP,-4
	mov A,[__rX]
	mov [__r1],A
	mov A,[__rY]
	mov [__r0],A
	add [__r1],<_FirstKeyArray
	adc [__r0],>_FirstKeyArray
	mov A,[__r0]
	push X
	mov X,[__r1]
	romx
	pop X
	xjmp L69
L74:
	.dbline 370
; }
; }
	mov REG[0xd0],>_KeyProStatus
	mov A,[_KeyProStatus]
	mov REG[0xd0],>__r0
	asr A
	asr A
	asr A
	and A,31
	mov [__r0],A
	and [__r0],1
	cmp [__r0],1
	jnz L76
	mov REG[0xd0],>_KeyProStatus
	mov A,[_KeyProStatus]
	mov REG[0xd0],>__r0
	asr A
	asr A
	asr A
	asr A
	asr A
	asr A
	asr A
	and A,1
	mov [__r0],A
	and [__r0],1
	cmp [__r0],0
	jnz L76
	.dbline 371
; }
	.dbline 372
; }
	mov A,[X-4]
	mov [__r1],A
	mov A,0
	push A
	mov A,[__r1]
	push A
	mov A,0
	push A
	mov A,3
	push A
	xcall __mul16
	add SP,-4
	mov A,[__rX]
	mov [__r1],A
	mov A,[__rY]
	mov [__r0],A
	add [__r1],<_FirstKeyArray
	adc [__r0],>_FirstKeyArray
	mov A,[__r0]
	push X
	mov X,[__r1]
	romx
	pop X
	mov [__r1],A
	mov [__r0],0
	sub A,4
	mov A,0
	xor A,-128
	sbb A,(0 ^ 0x80)
	jc L78
X20:
	mov REG[0xd0],>__r0
	mov A,29
	sub A,[__r1]
	mov A,[__r0]
	xor A,-128
	mov [__rX],A
	mov A,(0 ^ 0x80)
	sbb A,[__rX]
	jc L78
X21:
	.dbline 373
; }
	.dbline 374
; }
	mov REG[0xd0],>__r0
	mov A,[X-5]
	mov [__r1],A
	mov A,[X-6]
	mov REG[0xd5],A
	mov A,2
	mvi [__r1],A
	.dbline 375
; }
	mov A,[X-4]
	mov [__r1],A
	mov A,0
	push A
	mov A,[__r1]
	push A
	mov A,0
	push A
	mov A,3
	push A
	xcall __mul16
	add SP,-4
	mov A,[__rX]
	mov [__r1],A
	mov A,[__rY]
	mov [__r0],A
	add [__r1],<_FirstKeyArray
	adc [__r0],>_FirstKeyArray
	mov A,[__r0]
	push X
	mov X,[__r1]
	romx
	pop X
	xjmp L69
L78:
	.dbline 378
; }
; }
; }
	.dbline 379
; }
	mov REG[0xd0],>__r0
	mov A,[X-4]
	mov [__r1],A
	mov A,0
	push A
	mov A,[__r1]
	push A
	mov A,0
	push A
	mov A,3
	push A
	xcall __mul16
	add SP,-4
	mov A,[__rX]
	mov [__r1],A
	mov A,[__rY]
	mov [__r0],A
	add [__r1],<_FirstKeyArray
	adc [__r0],>_FirstKeyArray
	mov A,[__r0]
	push X
	mov X,[__r1]
	romx
	pop X
	cmp A,31
	jnz L80
	.dbline 380
; }
	mov A,[X-5]
	mov [__r1],A
	mov A,[X-6]
	mov REG[0xd5],A
	mov A,2
	mvi [__r1],A
L80:
	.dbline 381
; }
	mov REG[0xd0],>__r0
	mov A,[X-4]
	mov [__r1],A
	mov A,0
	push A
	mov A,[__r1]
	push A
	mov A,0
	push A
	mov A,3
	push A
	xcall __mul16
	add SP,-4
	mov A,[__rX]
	mov [__r1],A
	mov A,[__rY]
	mov [__r0],A
	add [__r1],<_FirstKeyArray
	adc [__r0],>_FirstKeyArray
	mov A,[__r0]
	push X
	mov X,[__r1]
	romx
	pop X
	xjmp L69
L76:
	.dbline 385
; }
; }
; }
; }
	mov REG[0xd0],>_KeyProStatus
	mov A,[_KeyProStatus]
	mov REG[0xd0],>__r0
	asr A
	asr A
	asr A
	asr A
	asr A
	and A,7
	mov [__r0],A
	and [__r0],1
	cmp [__r0],1
	jnz L82
	.dbline 386
; }
	.dbline 387
; }
	mov A,[X-5]
	mov [__r1],A
	mov A,[X-6]
	mov REG[0xd5],A
	mov A,1
	mvi [__r1],A
	.dbline 389
; }
; }
	mov A,[X-4]
	mov [__r1],A
	mov A,0
	push A
	mov A,[__r1]
	push A
	mov A,0
	push A
	mov A,3
	push A
	xcall __mul16
	add SP,-4
	mov A,[__rX]
	mov [__r1],A
	mov A,[__rY]
	mov [__r0],A
	add [__r1],<_FirstKeyArray
	adc [__r0],>_FirstKeyArray
	mov A,[__r0]
	push X
	mov X,[__r1]
	romx
	pop X
	xjmp L69
L82:
	.dbline 392
; }
; }
; }
	mov REG[0xd0],>_KeyProStatus
	mov A,[_KeyProStatus]
	mov REG[0xd0],>__r0
	asr A
	asr A
	asr A
	asr A
	asr A
	asr A
	asr A
	and A,1
	mov [__r0],A
	and [__r0],1
	cmp [__r0],1
	jnz L84
	.dbline 393
; }
	.dbline 396
; }
; }
; }
	mov A,[X-4]
	mov [__r1],A
	mov A,0
	push A
	mov A,[__r1]
	push A
	mov A,0
	push A
	mov A,3
	push A
	xcall __mul16
	add SP,-4
	mov A,[__rX]
	mov [__r1],A
	mov A,[__rY]
	mov [__r0],A
	mov A,[__r1]
	add A,<_FirstKeyArray+1
	mov [__r3],A
	mov A,[__r0]
	adc A,>_FirstKeyArray+1
	push X
	mov X,[__r3]
	romx
	pop X
	mov [__r2],A
	tst [__r2],8
	jnz L90
	add [__r1],<_FirstKeyArray+1
	adc [__r0],>_FirstKeyArray+1
	mov A,[__r0]
	push X
	mov X,[__r1]
	romx
	pop X
	mov [__r0],A
	tst [__r0],4
	jz L86
L90:
	.dbline 397
; }
	.dbline 399
; }
; }
	mov REG[0xd0],>__r0
	mov A,[X-4]
	mov [__r1],A
	mov A,0
	push A
	mov A,[__r1]
	push A
	mov A,0
	push A
	mov A,3
	push A
	xcall __mul16
	add SP,-4
	mov A,[__rX]
	mov [__r1],A
	mov A,[__rY]
	mov [__r0],A
	add [__r1],<_FirstKeyArray+1
	adc [__r0],>_FirstKeyArray+1
	mov A,[__r0]
	push X
	mov X,[__r1]
	romx
	pop X
	asr A
	asr A
	asr A
	asr A
	and A,15
	mov [__r0],A
	mov A,[X-5]
	mov [__r3],A
	mov A,[X-6]
	mov REG[0xd5],A
	mov A,[__r0]
	mvi [__r3],A
	.dbline 401
; }
; }
	mov A,[X-4]
	mov [__r1],A
	mov A,0
	push A
	mov A,[__r1]
	push A
	mov A,0
	push A
	mov A,3
	push A
	xcall __mul16
	add SP,-4
	mov A,[__rX]
	mov [__r1],A
	mov A,[__rY]
	mov [__r0],A
	add [__r1],<_FirstKeyArray+1
	adc [__r0],>_FirstKeyArray+1
	mov A,[__r0]
	push X
	mov X,[__r1]
	romx
	pop X
	and A,15
	mov [X+1],A
	.dbline 402
; }
	mov A,[X-4]
	mov [__r1],A
	mov A,0
	push A
	mov A,[__r1]
	push A
	mov A,0
	push A
	mov A,3
	push A
	xcall __mul16
	add SP,-4
	mov A,[__rX]
	mov [__r1],A
	mov A,[__rY]
	mov [__r0],A
	add [__r1],<_FirstKeyArray+2
	adc [__r0],>_FirstKeyArray+2
	mov A,[__r0]
	push X
	mov X,[__r1]
	romx
	pop X
	mov [X+0],A
	.dbline 403
; }
	xjmp L87
L86:
	.dbline 405
; }
; }
	mov REG[0xd0],>__r0
	mov A,[X-4]
	mov [__r1],A
	mov A,0
	push A
	mov A,[__r1]
	push A
	mov A,0
	push A
	mov A,3
	push A
	xcall __mul16
	add SP,-4
	mov A,[__rX]
	mov [__r1],A
	mov A,[__rY]
	mov [__r0],A
	add [__r1],<_FirstKeyArray
	adc [__r0],>_FirstKeyArray
	mov A,[__r0]
	push X
	mov X,[__r1]
	romx
	pop X
	xjmp L69
L87:
	.dbline 407
; }
; }
L84:
	.dbline 409
; }
; }
	mov REG[0xd0],>_KeyProStatus
	mov A,[_KeyProStatus]
	mov REG[0xd0],>__r0
	asr A
	asr A

⌨️ 快捷键说明

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