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

📄 key_oper.asm

📁 holtek mouse .asm firewave
💻 ASM
字号:
INCLUDE	REG_DEF.INC

PUBLIC	SCAN_KEY

KEY_CODE	.SECTION	'CODE'

SCAN_KEY:
			MOV	A, M_LEFT_STEP_COUNT
			ADDM	A, PCL
				JMP	NORMAL_SCAN	;STEP0
				JMP	STEP4
				JMP	STEP3
				JMP	STEP2
				JMP	STEP1
		STEP1:
			SET	KEY_STATUS.0
			DEC	M_LEFT_STEP_COUNT
			JMP	SCAN_END
		STEP2:
			CLR	KEY_STATUS
			DEC	M_LEFT_STEP_COUNT
			JMP	SCAN_END
		STEP3:
			SET	KEY_STATUS.0
			DEC	M_LEFT_STEP_COUNT
			JMP	SCAN_END
		STEP4:
			CLR	KEY_STATUS
			CLR	M_LEFT_STEP_COUNT
			JMP	SCAN_END
			
		NORMAL_SCAN:
			CLR		KEY_STATUS
			
			SNZ		L_BUT		;PA.3
			SET		KEY_STATUS.0

			SNZ		R_BUT		;PA.2
			SET		KEY_STATUS.1

			SNZ		M_BUT		;PA.4
			SET		KEY_STATUS.2
		; =====================================================
			SZ		OFFICE_BUT	;PB.7
			JMP		NOT_PRESS_OB
			JMP		PRESS_OB
		NOT_PRESS_OB:
			CLR		OFFICE_BUT_PRESSED
			JMP		KEEP_BUTTON_CHECK_1
		PRESS_OB:
			SZ	OFFICE_BUT_PRESSED
			JMP	KEEP_BUTTON_CHECK_1
			SET		KEY_STATUS.3
			SET	OFFICE_BUT_PRESSED
			JMP		SCAN_END
		KEEP_BUTTON_CHECK_1:
			SZ		LEFT_F_BUT	;PA.1
			JMP		NOT_PRESS_LF
			JMP		PRESS_LF
		NOT_PRESS_LF:
			CLR		LF_BUT_PRESSED
			JMP		KEEP_BUTTON_CHECK_2
		PRESS_LF:
			SZ	LF_BUT_PRESSED
			JMP	KEEP_BUTTON_CHECK_2
			SET		KEY_STATUS.4
			SET	LF_BUT_PRESSED
			;=================================
			MOV		A, 1;6
			MOV		Z_WHEEL, A
			;=================================
			JMP		SCAN_END
		KEEP_BUTTON_CHECK_2:
			SZ		LEFT_B_BUT	;PA.0
			JMP		NOT_PRESS_LB
			JMP		PRESS_LB
		NOT_PRESS_LB:
			CLR		LB_BUT_PRESSED
			JMP		KEEP_BUTTON_CHECK_3
		PRESS_LB:
			SZ	LB_BUT_PRESSED
			JMP	KEEP_BUTTON_CHECK_3
			SET		KEY_STATUS.5
			SET	LB_BUT_PRESSED
			;==================================
			MOV		A, 0FFH;0FAH
			MOV		Z_WHEEL, A
			;==================================
			JMP		SCAN_END
		KEEP_BUTTON_CHECK_3:
			SZ		MIDDLE_L_BUT	;PA.7
			JMP		NOT_PRESS_ML
			JMP		PRESS_ML
		NOT_PRESS_ML:
			CLR		M_LEFT_PRESSED
			JMP		SCAN_END
		PRESS_ML:
			SZ		M_LEFT_PRESSED
			JMP	SCAN_END
			SET		KEY_STATUS.6
			;==================================
			SET	M_LEFT_PRESSED
			MOV	A, 4
			MOV	M_LEFT_STEP_COUNT, A
			;==================================
		
		; ======================================================	
		SCAN_END:
			SZ		KEY_STATUS
			SET		MOVEMENT.2

			RET		

⌨️ 快捷键说明

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