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

📄 upmice.inc

📁 Holteck HT82M9XX的USB Mouse的Firmware汇编代码
💻 INC
字号:
;------------------------------------------------------------------------------
; Function : UPMICE.ASM
;------------------------------------------------------------------------------
x_cnt_p                         equ             [14h]                                           ;x-axis count port PB
x_cnt_p_c                       equ             [15h]

y_cnt_p                         equ             [16h]                                           ;y-axis count port PC
y_cnt_p_c                       equ             [17h]                   

;port A
button_p                        equ             [12h]                                           ;button port PA
        @l_b_bit                equ             0                                               ;left button
        @r_b_bit                equ             1                                               ;right button
        @m_b_bit                equ             2                                               ;middle button
        @x_s_bit                equ             4                                               ;x sign bit     x0 for ev
        @y_s_bit                equ             5                                               ;y sign bit x1 for ev
        @x_o_bit                equ             6                                               ;x overflow bit y0 for ev
        @y_o_bit                equ             7                                               ;y overflow bit y1 for ev
button_p_c                      equ             [13h]

;watchdog [09H]                                                 
        @cntl_bit               EQU             7                                               ;write FIFO control bit (only for HT-ide)


;ps2_flag1 EQU
        @ssr                    equ             0                                               ;set sample rate
        @srf                    equ             1                                               ;set resolution flag
        @2nd_cmd                equ             2                                               ;ps2 second cmd
        @snd_fa                 equ             3                                               ;send FAH response
        @snd_fe                 equ             4                                               ;send FEH response
        @chg_w_m                equ             5                                               ;change to wrap mode
        @3d_flag                equ             6
        @3d_mouse               equ             7                                               ;3D mouse

;ps2_flag2 EQU
        @m3d_index1             equ             0                                               ;check 3d mouse index
        @m3d_index2             equ             1                                               ;check 3d mouse index   
        @z_dir0                 equ             2                                               ;1=pos, 0=neg
        @z_error                equ             3
        @z0_n_axis              equ             4
        @z1_n_axis              equ             5
        @z0_o_axis              equ             6
        @z1_o_axis              equ             7       
        

;PS2_status_reg         equ
        @r_button               equ             0                                               ;right button           
        @m_button               equ             1                                               ;middle button
        @l_button               equ             2                                               ;left button
        @scale_s                equ             4                                               ;scaling
        @enable                 equ             5                                               ;enable
        @chg_r_m                equ             6                                               ;remote


extern  sys_flag                : byte
extern  ps2_flag1               : byte
extern  ps2_flag2               : byte
extern  ps2_status_reg          : byte
extern  button_status           : byte

;sys_flag EQU
        @MaybePS2               equ             0                                               
        @chgmouse               equ             1                       ;mouse change flag
        @parity                 equ             2                       ;ps2 parity bit
        @bitdata                equ             3                       ;ps2 input data bit
        @low_sample             equ             4
        @force_usb              equ             5
        @CallFlag               equ             6
check_clk                       equ             sys_flag.7

;ps2 command
second_cmd_flag         equ             ps2_flag1.@2nd_cmd              ;PS2_2nd_cmd
sf_sample_rate          equ             ps2_flag1.@ssr                  ;PS2 set sample rate cmd
resolution_flag         equ             ps2_flag1.@srf                  ;PS2 set resolution cmd
snd_fa_response         equ             ps2_flag1.@snd_fa               ;send fah response
wrap_f                          equ             ps2_flag1.@chg_w_m              ;change to wrap mode
fe_flag                         equ             ps2_flag1.@snd_fe               ;send FEH response
m3d_mode                        equ             ps2_flag1.@3d_mouse             ;change to 3D mouse     
flag_3d                         equ             ps2_flag1.@3d_flag
remote_mode                     equ             ps2_status_reg.@chg_r_m ;change to remote mode
scaling_flag            equ             ps2_status_reg.@scale_s ;set scaling rate
enable_flag                     equ             ps2_status_reg.@enable  ;enable ps2

X_OVF                           equ             button_status.@x_o_bit
x_sign                          equ             button_status.@x_s_bit  
Y_OVF                           equ             button_status.@y_o_bit
y_sign                          equ             button_status.@y_s_bit  
l_key                           equ             button_status.@l_b_bit
r_key                           equ             button_status.@r_b_bit
m_key                           equ             button_status.@m_b_bit
mouse_chg                       equ             sys_flag.@chgmouse

;timer flag
;timer_P                         equ             tmr0
;timer_c_p                       equ             tmr0c
timer_on                        equ             tmr0c.4
tmr_out_flag            equ             intc.5

;ps2 receive or transmit flag
BitData_bit                     equ             sys_flag.@bitdata
parity_bit                      equ             sys_flag.@parity


ps2_clk_line_in         equ             [1AH].5
ps2_d_line_in           equ             [1AH].4
ps2_clk_line_out        equ             [1AH].7
ps2_d_line_out          equ             [1AH].6

sel_ps2_line            equ             [1BH].4
sel_reg_line            equ             [1BH].5
chk_usb_reset_event     equ             [1AH].2
on_usb_clk              equ             [1CH].3

Z_D_FLAG                equ             ps2_flag2.@z_dir0
error_z_flag            equ             ps2_flag2.@z_error
low_sample_rate         equ             sys_flag.@low_sample



⌨️ 快捷键说明

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