vr_41.asm

来自「VCP201_CODE is a FPGA source code.」· 汇编 代码 · 共 102 行

ASM
102
字号
;-------------------------------------
; vr_41:
; map the vr into direction in 41 mode
;-------------------------------------
vr_41:
	btfsc	D_A_mode	; if analog -> exit
	goto	end_vr_41

	movf	xaxis_val,W
	movwf	vr_value
	call	vr_41_lf_rt
	
	movf	yaxis_val,W
	movwf	vr_value
	call	vr_41_up_dn
	
	movf	zaxis_val,W
	movwf	vr_value
	call	vr_41_lf_rt
	
	movf	raxis_val,W
	movwf	vr_value
	call	vr_41_up_dn
	
	
end_vr_41:
	return
	
	
;-----------------------------------------
; vr_41_lf_rt:
; check for 41 vr's left & right direction
;-----------------------------------------
vr_41_lf_rt:		
	
	btfss	t_lt_bit	; already pressed ?	
	goto	vr_41_chk_rt
	
	movlw	DEAD_OUT
	subwf	vr_value,W
	btfss	STATUS,C
	bcf	t_lt_bit

	movlw	DEAD_IN
	subwf	vr_value,W
	btfsc	STATUS,C
	bsf	t_lt_bit

vr_41_chk_rt:	
	btfss	t_rt_bit	; already pressed ?
	goto	end_vr_41_lf_rt
	
	movlw	d'255'-DEAD_OUT
	subwf	vr_value,W
	btfsc	STATUS,C
	bcf	t_rt_bit
	
	movlw	d'255'-DEAD_IN
	subwf	vr_value,W
	btfss	STATUS,C
	bsf	t_rt_bit

end_vr_41_lf_rt:	
	return
	
	
;-----------------------------------------
; vr_41_up_dn:
; check for 41 vr's up & down direction
;-----------------------------------------
vr_41_up_dn:		
	
	btfss	t_up_bit	; already pressed ?	
	goto	vr_41_chk_dn
	
	movlw	DEAD_OUT
	subwf	vr_value,W
	btfss	STATUS,C
	bcf	t_up_bit

	movlw	DEAD_IN
	subwf	vr_value,W
	btfsc	STATUS,C
	bsf	t_up_bit

vr_41_chk_dn:	
	btfss	t_dn_bit	; already pressed ?
	goto	end_vr_41_up_dn
	
	movlw	d'255'-DEAD_OUT
	subwf	vr_value,W
	btfsc	STATUS,C
	bcf	t_dn_bit
	
	movlw	d'255'-DEAD_IN
	subwf	vr_value,W
	btfss	STATUS,C
	bsf	t_dn_bit

end_vr_41_up_dn:	
	return		

⌨️ 快捷键说明

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