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

📄 ps2-key.asm

📁 MC68HC608JB8的固件例程源程序.zip
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	db      PKEY_VLDN,PKEY_NXTR,PKEY_VLUP,PKEY_PRTR     ;        |  row 0-3
        db      PKEY_PLAY,PKEY_LALT,PKEY_RALT,PKEY_KAN5     ; PTB5   |  row 4-7
*
;        db      PKEY_MUTE,PKEY_MEDIA,PKEY_LSFT,PKEY_RSFT    ;        |  row 0-3
        db      PKEY_MUTE,PKEY_MEDIA,PKEY_FN,PKEY_RSFT    ;        |  row 0-3
        db      PKEY_WFVR,PKEY_NA,PKEY_NA,PKEY_KAN4         ; PTB6   |  row 4-7
*
        db      PKEY_STOP,PKEY_LGUI,PKEY_MAIL,PKEY_WHME     ;        |  row 0-3
        db      PKEY_CALC,PKEY_MYPC,PKEY_NA,PKEY_KAN2       ; PTB7   |  row 4-7
*
        db      PKEY_7,PKEY_8,PKEY_9,PKEY_0                 ;        |  row 0-3  |
        db      PKEY_u,PKEY_i,PKEY_o,PKEY_p                 ; PTC0   |  row 4-7  |
*
        db      PKEY_LFT,PKEY_UP,PKEY_DWN,PKEY_RGT          ;        |  row 0-3
        db      PKEY_NBS,PKEY_KAN1,PKEY_NCMA,PKEY_APP       ; PTC1   |  row 4-7
*
        db      PKEY_KAN3,PKEY_INS,PKEY_DEL,PKEY_NLK        ;        |  row 0-3
        db      PKEY_BSL,PKEY_PSC,PKEY_SLK,PKEY_PSE         ; PTC2   |  row 4-7
*
        db      PKEY_F4,PKEY_F5,PKEY_F6,PKEY_F7             ;        |  row 0-3
        db      PKEY_F8,PKEY_F10,PKEY_F11,PKEY_F12          ; PTC3   |  row 4-7
*
        db      PKEY_z,PKEY_x,PKEY_c,PKEY_v                 ;        |  row 0-3
        db      PKEY_a,PKEY_s,PKEY_d,PKEY_f                 ; PTC4   |  row 4-7
*
        db      PKEY_q,PKEY_w,PKEY_e,PKEY_r                 ;        |  row 0-3
        db      PKEY_1,PKEY_2,PKEY_3,PKEY_4                 ; PTC5   |  row 4-7
*
        db      PKEY_ESC,PKEY_F1,PKEY_F2,PKEY_F3            ;        |  row 0-3
        db      PKEY_TIL,PKEY_TAB,PKEY_SPC,PKEY_CMA         ; PTC6   |  row 4-7
*
        db      PKEY_FN,PKEY_NA,PKEY_SLP,PKEY_WFND          ;        |  row 0-3
        db      PKEY_CLK,PKEY_NA,PKEY_NA,PKEY_RGUI          ; PTC7   |  row 4-7
*
        db      PKEY_5,PKEY_t,PKEY_g,PKEY_b                 ;        |  row 0-3
        db      PKEY_6,PKEY_y,PKEY_h,PKEY_n                 ; PTE0   |  row 4-7
*
        db      PKEY_MIS,PKEY_EQU,PKEY_BSP,PKEY_OQO         ;        |  row 0-3
        db      PKEY_EQO,PKEY_CC,PKEY_NUP,PKEY_F9           ; PTE2   |  row 4-7
*
*
*
$endif

Fn_Keys_Table:
        db      PKEY_7,PKEY_8,PKEY_9,PKEY_0                
        db      PKEY_u,PKEY_i,PKEY_o,PKEY_p           
        
        db      PKEY_j,PKEY_k,PKEY_l,PKEY_COL               
        db      PKEY_RTN,PKEY_m,PKEY_DOT,PKEY_LCTL            
    
*
Fn_Keys_TEnd:

K_N_Fn_Keys      equ     {Fn_Keys_TEnd - Fn_Keys_Table}


Fn_Key_Def_Table:		; [FN] KEY PRESSED
        db      PKEY_N7,PKEY_N8,PKEY_N9,PKEY_NMU              
        db      PKEY_N4,PKEY_N5,PKEY_N6,PKEY_NMI            

        db      PKEY_N1,PKEY_N2,PKEY_N3,PKEY_NPL                
        db      PKEY_NET,PKEY_N0,PKEY_NDT,PKEY_RCTL                

$endif


* ====== Key Matrix Map ==================================================
* JB8 PCB version 0.1 and 0.2
* - for Win98 keyboard[Model# K280W]
** - F1-F12 replaced with Multimedia Keys
* - H1, H0, H4, H2, H5, H7, H6, H19, H20, H21, H22, H9
$if KeyType2
PKEY_TABLE   equ   *
*
        db      PKEY_END,PKEY_HME,PKEY_LFT,CKEY_NA ; col 10 |  row 0-3
        db      PKEY_UP,PKEY_NET,CKEY_NA,PKEY_NPL   ; PTB0   |  row 4-7
*
        db      PKEY_9,PKEY_WBCK,PKEY_APP,PKEY_DOT     ; col 11 |  row 0-3
        db      CKEY_NA,PKEY_L,PKEY_VLUP,PKEY_O       ; PTB1   |  row 4-7
*
        db      PKEY_8,PKEY_EQU,CKEY_NA,PKEY_CMA    ; col 12 |  row 0-3
        db      PKEY_VLDN,PKEY_K,PKEY_EQO,PKEY_I      ; PTB2   |  row 4-7
*
        db      PKEY_7,PKEY_6,PKEY_N,PKEY_M          ; col 13 |  row 0-3
        db      PKEY_H,PKEY_J,PKEY_Y,PKEY_U          ; PTB3   |  row 4-7
*
        db      PKEY_4,PKEY_5,PKEY_B,PKEY_V          ; col 14 |  row 0-3
        db      PKEY_G,PKEY_F,PKEY_T,PKEY_R          ; PTB4   |  row 4-7
*
        db      PKEY_3,PKEY_NXTR,CKEY_NA,PKEY_C       ; col 15 |  row 0-3
        db      PKEY_STOP,PKEY_D,PKEY_PLAY,PKEY_E        ; PTB5   |  row 4-7
*
        db      PKEY_2,PKEY_PRTR,CKEY_NA,PKEY_X       ; col 16 |  row 0-3
        db      CKEY_NA,PKEY_S,PKEY_CLK,PKEY_W      ; PTB6   |  row 4-7
*
        db      PKEY_1,PKEY_TIL,CKEY_NA,PKEY_Z      ; col 17 |  row 0-3
        db      PKEY_ESC,PKEY_A,PKEY_TAB,PKEY_Q      ; PTB7   |  row 4-7
*
        db      PKEY_PDN,PKEY_PUP,PKEY_NMI,PKEY_NMU  ; col 9  |  row 0-3
        db      PKEY_NDT,PKEY_N3,PKEY_N6,PKEY_N9     ; PTC0   |  row 4-7
*
        db      PS2KEY_SLP,PKEY_INS,PKEY_RGT,PKEY_NSL ; col 8  |  row 0-3
        db      PKEY_N0,PKEY_N2,PKEY_N5,PKEY_N8      ; PTC1   |  row 4-7
*
        db      PS2KEY_PWR,PKEY_DEL,PKEY_DWN,PKEY_NLK ; col 7  |  row 0-3
        db      PKEY_SPC,PKEY_N1,PKEY_N4,PKEY_N7     ; PTC2   |  row 4-7
*
        db      CKEY_NA,CKEY_NA,CKEY_NA,CKEY_NA  ; col 6  |  row 0-3
        db      CKEY_NA,PKEY_RSFT,PKEY_LSFT,PS2KEY_WKE; PTC3   |  row 4-7
*
        db      PKEY_PSC,CKEY_NA,PKEY_RALT,CKEY_NA ; col 3  |  row 0-3
        db      PKEY_LALT,CKEY_NA,CKEY_NA,PKEY_SLK ; PTC4   |  row 4-7
*
        db      PKEY_MUTE,PKEY_LCTL,CKEY_NA,PKEY_RCTL ; col 2  |  row 0-3
        db      CKEY_NA,CKEY_NA,CKEY_NA,PKEY_PSE  ; PTC5   |  row 4-7
*
        db      CKEY_NA,CKEY_NA,CKEY_NA,CKEY_NA  ; col 1  |  row 0-3
        db      CKEY_NA,CKEY_NA,PKEY_LGUI,CKEY_NA ; PTC6   |  row 4-7
*
        db      CKEY_NA,CKEY_NA,CKEY_NA,CKEY_NA  ; col 0  |  row 0-3
        db      CKEY_NA,PKEY_RGUI,CKEY_NA,CKEY_NA ; PTC7   |  row 4-7
*
        db      PKEY_0,PKEY_MIS,PKEY_SL,CKEY_NA     ; col 4  |  row 0-3
        db      PKEY_CC,PKEY_COL,PKEY_OQO,PKEY_P     ; PTE0   |  row 4-7
*
        db      PKEY_WSTP,PKEY_WFRD,PKEY_MAIL,PKEY_RTN   ; col 5  |  row 0-3
        db      PKEY_WRFH,PKEY_BSL,PKEY_BSP,CKEY_NA  ; PTE2   |  row 4-7
$endif







$if KeyType3
* - for Win98 keyboard[Model# K280W]
* - F1-F12 replaced with Multimedia Keys H0 - H11
* - 
PKEY_TABLE   equ   *
*
        db      PKEY_END,PKEY_HME,PKEY_LFT,CKEY_NA ; col 10 |  row 0-3
        db      PKEY_UP,PKEY_NET,CKEY_NA,PKEY_NPL   ; PTB0   |  row 4-7
*
        db      PKEY_9,PKEY_VLDN,PKEY_APP,PKEY_DOT     ; col 11 |  row 0-3
        db      CKEY_NA,PKEY_L,PKEY_VLUP,PKEY_O       ; PTB1   |  row 4-7
*
        db      PKEY_8,PKEY_EQU,CKEY_NA,PKEY_CMA    ; col 12 |  row 0-3
        db      PKEY_MUTE,PKEY_K,PKEY_EQO,PKEY_I      ; PTB2   |  row 4-7
*
        db      PKEY_7,PKEY_6,PKEY_N,PKEY_M          ; col 13 |  row 0-3
        db      PKEY_H,PKEY_J,PKEY_Y,PKEY_U          ; PTB3   |  row 4-7
*
        db      PKEY_4,PKEY_5,PKEY_B,PKEY_V          ; col 14 |  row 0-3
        db      PKEY_G,PKEY_F,PKEY_T,PKEY_R          ; PTB4   |  row 4-7
*
        db      PKEY_3,PKEY_PRTR,CKEY_NA,PKEY_C       ; col 15 |  row 0-3
        db      PKEY_F4,PKEY_D,PKEY_STOP,PKEY_E        ; PTB5   |  row 4-7
*
        db      PKEY_2,PKEY_NXTR,CKEY_NA,PKEY_X       ; col 16 |  row 0-3
        db      CKEY_NA,PKEY_S,PKEY_CLK,PKEY_W      ; PTB6   |  row 4-7
*
        db      PKEY_1,PKEY_TIL,CKEY_NA,PKEY_Z      ; col 17 |  row 0-3
        db      PKEY_ESC,PKEY_A,PKEY_TAB,PKEY_Q      ; PTB7   |  row 4-7
*
        db      PKEY_PDN,PKEY_PUP,PKEY_NMI,PKEY_NMU  ; col 9  |  row 0-3
        db      PKEY_NDT,PKEY_N3,PKEY_N6,PKEY_N9     ; PTC0   |  row 4-7
*
        db      PS2KEY_SLP,PKEY_INS,PKEY_RGT,PKEY_NSL ; col 8  |  row 0-3
        db      PKEY_N0,PKEY_N2,PKEY_N5,PKEY_N8      ; PTC1   |  row 4-7
*
        db      PS2KEY_PWR,PKEY_DEL,PKEY_DWN,PKEY_NLK ; col 7  |  row 0-3
        db      PKEY_SPC,PKEY_N1,PKEY_N4,PKEY_N7     ; PTC2   |  row 4-7
*
        db      CKEY_NA,CKEY_NA,CKEY_NA,CKEY_NA  ; col 6  |  row 0-3
        db      CKEY_NA,PKEY_RSFT,PKEY_LSFT,PS2KEY_WKE; PTC3   |  row 4-7
*
        db      PKEY_PSC,CKEY_NA,PKEY_RALT,CKEY_NA ; col 3  |  row 0-3
        db      PKEY_LALT,CKEY_NA,CKEY_NA,PKEY_SLK ; PTC4   |  row 4-7
*
        db      PKEY_PLAY,PKEY_LCTL,CKEY_NA,PKEY_RCTL ; col 2  |  row 0-3
        db      CKEY_NA,CKEY_NA,CKEY_NA,PKEY_PSE  ; PTC5   |  row 4-7
*
        db      CKEY_NA,CKEY_NA,CKEY_NA,CKEY_NA  ; col 1  |  row 0-3
        db      CKEY_NA,CKEY_NA,PKEY_LGUI,CKEY_NA ; PTC6   |  row 4-7
*
        db      CKEY_NA,CKEY_NA,CKEY_NA,CKEY_NA  ; col 0  |  row 0-3
        db      CKEY_NA,PKEY_RGUI,CKEY_NA,CKEY_NA ; PTC7   |  row 4-7
*
        db      PKEY_0,PKEY_MIS,PKEY_SL,CKEY_NA     ; col 4  |  row 0-3
        db      PKEY_CC,PKEY_COL,PKEY_OQO,PKEY_P     ; PTE0   |  row 4-7
*
        db      PKEY_MAIL,PKEY_MEDIA,PKEY_MYPC,PKEY_RTN   ; col 5  |  row 0-3
        db      PKEY_CALC,PKEY_BSL,PKEY_BSP,CKEY_NA  ; PTE2   |  row 4-7
$endif


$if KeyType4
.PAGE
* ====== Key Matrix Map ==================================================
* for keyboard verion 0.0 (KH12 type keyboard)
*
PKEY_TABLE   equ   *

        db      PKEY_CLK,PKEY_W,PKEY_NA,PKEY_S         ; col 0  |  row 0-3
        db      PKEY_NA,PKEY_X,PKEY_2,PKEY_F1          ; PTB0   |  row 4-7
*
        db      PKEY_TAB,PKEY_Q,PKEY_ESC,PKEY_A         ; col 1  |  row 0-3
        db      PKEY_NA,PKEY_Z,PKEY_1,PKEY_TIL         ;  PTB1  |  row 4-7
*
        db      PKEY_F3,PKEY_E,PKEY_F4,PKEY_D           ; col 2  |  row 0-3
        db      PKEY_NA,PKEY_C,PKEY_3,PKEY_F2          ;  PTB2  |  row 4-7
*
        db      PKEY_T,PKEY_R,PKEY_G,PKEY_F             ; col 3  |  row 0-3
        db      PKEY_B,PKEY_V,PKEY_4,PKEY_5             ; PTB3   |  row 4-7
*
        db      PKEY_Y,PKEY_U,PKEY_H,PKEY_J             ; col 4  |  row 0-3
        db      PKEY_N,PKEY_M,PKEY_7,PKEY_6             ; PTB4   |  row 4-7
*
        db      PKEY_EQO,PKEY_I,PKEY_F6,PKEY_K          ; col 5  |  row 0-3
        db      PKEY_NA,PKEY_CMA,PKEY_8,PKEY_EQU       ;  PTB5  |  row 4-7
*
        db      PKEY_F7,PKEY_O,PKEY_NA,PKEY_L          ; col 6  |  row 0-3
        db      PKEY_APP,PKEY_DOT,PKEY_9,PKEY_F8        ;  PTB6  |  row 4-7
*
        db      PKEY_NA,PKEY_NPL,PKEY_UP,PKEY_NET      ; col 7  |  row 0-3
        db      PKEY_LFT,PKEY_NA,PKEY_END,PKEY_HME     ; PTB7   |  row 4-7
*
        db      PKEY_NA,PKEY_NA,PKEY_NA,PKEY_RGUI    ; col 17 |  row 0-3
        db      PKEY_NA,PKEY_NA,PKEY_NA,PKEY_NA     ;  PTC0  |  row 4-7

        db      PKEY_LGUI,PKEY_NA,PKEY_NA,CKEY_NA     ; col 16 |  row 0-3
        db      PKEY_NA,PKEY_NA,PKEY_NA,PKEY_NA     ;  PTC1    |  row 4-7
*
        db      PKEY_NA,PKEY_PSE,PKEY_NA,PKEY_NA     ; col 15 |  row 0-3
        db      PKEY_NA,PKEY_RCTL,PKEY_F5,PKEY_LCTL    ; PTC2   |  row 4-7
*
        db      PKEY_NA,PKEY_SLK,PKEY_LALT,PKEY_NA    ; col 14 |  row 0-3
        db      PKEY_RALT,PKEY_NA,PKEY_PSC,PKEY_NA    ; PTC3   |  row 4-7
*
        db      PKEY_LSFT,PS2KEY_WKE,PKEY_NA,PKEY_RSFT  ; col 11 |  row 0-3
        db      PKEY_NA,PKEY_NA,PKEY_NA,PKEY_NA     ; PTC4   |  row 4-7
*
        db      PKEY_N4,PKEY_N7,PKEY_SPC,PKEY_N1        ; col 10 |  row 0-3
        db      PKEY_DWN,PKEY_NLK,PS2KEY_PWR,PKEY_DEL    ; PTC5   |  row 4-7
*
        db      PKEY_N5,PKEY_N8,PKEY_N0,PKEY_N2         ; col 9  |  row 0-3
        db      PKEY_RGT,PKEY_NSL,PS2KEY_SLP,PKEY_INS    ; PTC6   |  row 4-7
*
        db      PKEY_N6,PKEY_N9,PKEY_NDT,PKEY_N3        ; col 8  |  row 0-3
        db      PKEY_NMI,PKEY_NMU,PKEY_PDN,PKEY_PUP     ; PTC7   |  row 4-7
*
        db      PKEY_BSP,PKEY_NA,PKEY_F11,PKEY_BSL     ; col 12 |  row 0-3
        db      PKEY_F12,PKEY_RTN,PKEY_F10,PKEY_F9      ;  PTE0  |  row 4-7
*
        db      PKEY_OQO,PKEY_P,PKEY_CC,PKEY_COL        ; col 13 |  row 0-3
        db      PKEY_SL,PKEY_NA,PKEY_0,PKEY_MIS        ;  PTE2  |  row 4-7
$endif




.PAGE
* ====== Subroutines =====================================================

* --------------------------------------------------------------------- *
* LOCATE_KEY - return key number from KET_TABLE[row,col]                *
* In       :  reg_A             row number                              *
*             reg_X             column number                           *
* Out      :  V_KeyNum          key number                              *
* --------------------------------------------------------------------- *
PLOCATE_KEY:
*
*
* --- Calculate Index to KNum_Table ---------------------------------
        sta     V_KeyNum                ; temp storage for row #
*
        lda     #K_RowMax
        mul                             ; reg_A * reg_X -> reg_X:reg_A
        add     V_KeyNum
*
* --- Get the [(COL*K_RowMax)+ROW]th item in KNUM_Table -------------
        tax
        lda     PKEY_TABLE,x
        sta     V_KeyNum                ; store result
*
* -------------------------------------------------------------------
LPKEY_EXIT:
        rts




* ====== End of File =====================================================
            end

⌨️ 快捷键说明

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