📄 ps2.lst
字号:
0000 ; AT101KB_SLEEP: EQU 131
0000 ; AT101KB_WAKE: EQU 132
0000 ;
0000 ; in addition, code 135 is currently used to represent
0000 ; the CTRL-ALT scan code in scan sets 1 and 2. This can be moved
0000 ; to another location (above 135) if new keys are added that need
0000 ; the 135 placement.
0000 ;
0000 ;
0000 ;========================================================================
0000
0000
0000 AT101KB_RESERVED: equ 00
0000 AT101KB_TILDE: equ 01
0000 AT101KB_01: equ 02
0000 AT101KB_02: equ 03
0000 AT101KB_03: equ 04
0000 AT101KB_04: equ 05
0000 AT101KB_05: equ 06
0000 AT101KB_06: equ 07
0000 AT101KB_07: equ 08
0000 AT101KB_08: equ 09
0000 AT101KB_09: equ 10
0000 AT101KB_00: equ 11
0000 AT101KB_UNDERSCORE: equ 12
0000 AT101KB_EQUAL: equ 13
0000
0000 AT101KB_DELETE: equ 15
0000 AT101KB_TAB: equ 16
0000 AT101KB_Q: equ 17
0000 AT101KB_W: equ 18
0000 AT101KB_E: equ 19
0000 AT101KB_R: equ 20
0000 AT101KB_T: equ 21
0000 AT101KB_Y: equ 22
0000 AT101KB_U: equ 23
0000 AT101KB_I: equ 24
0000 AT101KB_O: equ 25
0000 AT101KB_P: equ 26
0000 AT101KB_LEFTBRACKET: EQU 27
0000 AT101KB_RIGHTBRACKET: EQU 28
0000 AT101KB_VERTICAL_LINE: EQU 29
0000 AT101KB_CAPSLOCK: EQU 30
0000 AT101KB_A: equ 31
0000 AT101KB_S: equ 32
0000 AT101KB_D: equ 33
0000 AT101KB_F: equ 34
0000 AT101KB_G: equ 35
0000 AT101KB_H: equ 36
0000 AT101KB_J: equ 37
0000 AT101KB_K: equ 38
0000 AT101KB_L: equ 39
0000 AT101KB_SEMICOLON: EQU 40
0000 AT101KB_DOUBLEQUOTE: EQU 41
0000 AT101KB_NONUSPOUND: EQU 42
0000 AT101KB_ENTER: EQU 43
0000 AT101KB_LEFTSHIFT: EQU 44
0000 AT101KB_NONUSVERT_LINE: EQU 45
0000
0000 AT101KB_Z: equ 46
0000 AT101KB_X: equ 47
0000 AT101KB_C: equ 48
0000 AT101KB_V: equ 49
0000 AT101KB_B: equ 50
0000 AT101KB_N: equ 51
0000 AT101KB_M: equ 52
0000 AT101KB_LEFTANGLE: EQU 53
0000 AT101KB_RIGHTANGLE: EQU 54
0000 AT101KB_QUESTION: EQU 55
0000 AT101KB_RIGHTSHIFT: EQU 57
0000 AT101KB_LEFTCTRL: EQU 58
0000
0000 AT101KB_LEFTALT: EQU 60
0000 AT101KB_SPACE: EQU 61
0000 AT101KB_RIGHTALT: EQU 62
0000 AT101KB_RIGHTCTRL: EQU 64
0000
0000 AT101KB_INSERT: EQU 75
0000 AT101KB_DELETE_FORWARD: EQU 76
0000
0000 AT101KB_LEFTARROW: EQU 79
0000 AT101KB_HOME: EQU 80
0000 AT101KB_END: EQU 81
0000 AT101KB_UPARROW: EQU 83
0000 AT101KB_DOWNARROW: EQU 84
0000 AT101KB_PAGEUP: EQU 85
0000 AT101KB_PAGEDOWN: EQU 86
0000
0000 AT101KB_RIGHTARROW: EQU 89
0000 AT101KP_NUMLOCK: EQU 90
0000
0000 AT101KP_7: EQU 91
0000 AT101KP_4: EQU 92
0000 AT101KP_1: EQU 93
0000
0000 AT101KP_SLASH: EQU 95
0000 AT101KP_8: EQU 96
0000 AT101KP_5: EQU 97
0000 AT101KP_2: EQU 98
0000 AT101KP_0: EQU 99
0000 AT101KP_STAR: EQU 100
0000 AT101KP_9: EQU 101
0000 AT101KP_6: EQU 102
0000 AT101KP_3: EQU 103
0000 AT101KP_PERIOD: EQU 104
0000 AT101KP_MINUS: EQU 105
0000 AT101KP_PLUS: EQU 106
0000
0000 AT101KP_ENTER: EQU 108
0000
0000 AT101KB_ESCAPE: EQU 110
0000 AT101KB_F1: EQU 112
0000 AT101KB_F2: EQU 113
0000 AT101KB_F3: EQU 114
0000 AT101KB_F4: EQU 115
0000 AT101KB_F5: EQU 116
0000 AT101KB_F6: EQU 117
0000 AT101KB_F7: EQU 118
0000 AT101KB_F8: EQU 119
0000 AT101KB_F9: EQU 120
0000 AT101KB_F10: EQU 121
0000 AT101KB_F11: EQU 122
0000 AT101KB_F12: EQU 123
0000 AT101KB_PRINTSCREEN: EQU 124
0000 AT101KB_SCROLL_LOCK: EQU 125
0000 AT101KB_PAUSE: EQU 126
0000
0000 AT101KB_LEFTGUI: EQU 127
0000 AT101KB_RIGHTGUI: EQU 128
0000 AT101KB_APPLICATION: EQU 129
0000
0000 AT101KB_POWER: EQU 130
0000 AT101KB_SLEEP: EQU 131
0000 AT101KB_WAKE: EQU 132
0000
0000
0000
0000
0000 ;internal use! use this key code for the alt-key-124 special key code.
0000
0000
0000 AT101KB_ALT_124: EQU 135
0000
0000 ;consumer page HID audio controls
0000 AT101KB_MUTE: EQU 143 ;MUTE
0000 AT101KB_VOL_DEC: EQU 146 ;VOL-
0000 AT101KB_VOL_INC: EQU 147 ;VOL+
0000
0000
0000
0000 ;========================================================================
0000 ; This is the Cypress Dual Interface Keyboard hardware port defines
0000 ;
0000 ;========================================================================
0000 DEBOUNCE_PRESS_TIME: equ 03h ; Set debounce time for
0000 ; key press equal to 12 ms
0000 ; (3 * 4 ms)
0000 DEBOUNCE_RELEASE_TIME: equ 01h ; Set debounce time for
0000 ; key release equal to 4 ms
0000 ; (1 * 4 ms)
0000
0000 ; LED and KEY bit masks in port 3
0000 P3_KEY_MASK: equ c0h ; bits[7:4]
0000 P3_LED_MASK: equ 07h ; bits[3:0]
0000 P3_KEY_LSBIT_MASK: equ 040h ; first bit of key drive lines in p3
0000 P3_USB_CONN_MASK: equ 08h; usb connection bit
0000
0000 ; LED positions in port 3
0000 NUM_LOCK_LED: equ 1h ; bit[0]
0000 CAPS_LOCK_LED: equ 2h ; bit[1]
0000 SCROLL_LOCK_LED: equ 4h ; bit[2]
0000
0000 ; Normal GPIO port configuration
0000 NORMAL: equ f5h ; Port3 resistive neg
0000 ; Port2 resistive neg
0000 ; Port1 open drain neg
0000 ; Port0 open drain neg
0000
0000
0000
0000
0000
0000
0000
0000
0000 PS2_KEYBOARD: equ 0
0000 USB_KEYBOARD: equ 1
0000
0000 ;========================================================================
0000 ; interrupt vector table -- must be located here
0000 ;========================================================================
0000
0000 ORG 00h
0000
0000 80 1F [05] jmp sys_reset ; reset vector
0002
0002 80 1F [05] jmp illegal_int ; USB bus reset
0004
0004 80 1F [05] jmp illegal_int ; 128us interrupt
0006
0006 80 1A [05] jmp dual_ifc_1ms_ISR ; 1.024ms interrupt
0008
0008 80 1F [05] jmp illegal_int ; endpoint 0 interrupt
000A
000A 80 1F [05] jmp illegal_int ; endpoint 1 interrupt
000C
000C 80 1F [05] jmp illegal_int ; endpoint 2 interrupt
000E
000E 80 1F [05] jmp illegal_int ; reserved interrupt
0010
0010 80 1F [05] jmp illegal_int ; reserved interrupt
0012
0012 80 1F [05] jmp illegal_int ; reserved interrupt
0014
0014 80 1F [05] jmp illegal_int ; DAC interrupt
0016
0016 80 1F [05] jmp illegal_int ; GPIO interrupt
0018
0018 80 1F [05] jmp illegal_int ; reserved interrupt
001A
001A ;========================================================================
001A ;
001A ; FUNCTION: dual_ifc_1ms_ISR
001A ;
001A ; purpose:
001A ; provides the entry point for the 1 millisecond tick.
001A ; it performs the necessary ps2-specific
001A ; functions and returns.
001A ;
001A ;
001A ;========================================================================
001A dual_ifc_1ms_ISR:
001A 2D [05] push A ;save A
001B 23 21 [07] inc [dual_ifc_1ms] ;otherwise increment 1msec counter
001D ; iowr WATCHDOG_REG ;clear watchdog
001D 2B [04] pop a ;restore A reg
001E 73 [08] reti ;return from interrupt
001F
001F ;========================================================================
001F ;
001F ; FUNCTION: sys_reset
001F ;
001F ; purpose:
001F ; reset entry point for code
001F ;
001F ;
001F ;========================================================================
001F
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -