📄 ps2d_mouse_cmd.lis
字号:
0050 EP0DATA: equ 50h ; Endpoint 0 Data Register (50h-57h) (RW)
0058 EP1DATA: equ 58h ; Endpoint 1 Data Register (58h-5Fh) (RW)
0060 EP2DATA: equ 60h ; Endpoint 2 Data Register (60h-67h) (RW)
0000
0000 ; Band-gap/TRIMBUF Configuration Registers
0070 BGAPTR: equ 70h ; Band-gap Trim Register (R)
0071 TRIM0: equ 71h ; TRIMBUF Trim Register 0 (R)
0072 TRIM1: equ 72h ; TRIMBUF Trim Register 1 (R)
0000
0000 ; VREG Configuration Register
0073 VREGCR: equ 73h ; VREG Configuration Register (RW)
0000
0000 ; USB Transceiver Configuration Registers
0074 USBXCR: equ 74h ; USB Transceiver Configuration Register (RW)
0080 USBXCR_ENABLE: equ 80h ; USB Transceiver Enable
0001 USBXCR_FORCE: equ 01h ; USB Transceiver Force
0000
0000 ; Data Pointer Registers--Listed for compatability with other M8C based parts.
00D0 CPPDR: equ D0h ; Current Page Pointer Data Register (RW)
00D4 DPRDR: equ D4h ; Data Page Read Register (RW)
00D5 DPWDR: equ D5h ; Data Page Write Register (RW)
0000
0000 ; Watchdog Timer Reset
00E3 RESWDT: equ E3h ; Watchdog Timer Reset (W)
00E3 RES_WDT: equ E3h ; WatchDog Timer Register (W) (PSoC)
0000
0000 ;------------------------------------------------
0000 ; System and Global Resource Registers
0000 ;------------------------------------------------
00DA INT_CLR0: equ DAh ; Interrupt Clear Register 0 (RW)
0000 ; Use INT_MSK0 bit field masks
00DB INT_CLR1: equ DBh ; Interrupt Clear Register 1 (RW)
0000 ; Use INT_MSK1 bit field masks
00DC INT_CLR2: equ DCh ; Interrupt Clear Register 2 (RW)
0000 ; Use INT_MSK2 bit field masks
0000
00DE INT_MSK3: equ DEh ; Interrupt Mask Register (RW)
0080 INT_MSK3_ENSWINT: equ 80h ; MASK: enable/disable SW interrupt
0000
00DF INT_MSK2: equ DFh ; Interrupt Mask Register (RW)
0040 INT_MSK2_GPIO_PORT4: equ 40h ; MASK: enable/disable GPIO Port 4 interrupt
0020 INT_MSK2_GPIO_PORT3: equ 20h ; MASK: enable/disable GPIO Port 3 interrupt
0010 INT_MSK2_GPIO_PORT2: equ 10h ; MASK: enable/disable GPIO Port 2 interrupt
0008 INT_MSK2_PS2_DATA_LOW: equ 08h ; MASK: enable/disable PS/2 Data Low
0004 INT_MSK2_GPIO_INT2: equ 04h ; MASK: enable/disable GPIO INT2 interrupt
0002 INT_MSK2_CTR_16_WRAP: equ 02h ; MASK: enable/disable 16 bit counter wrap
0001 INT_MSK2_TCAP1: equ 01h ; MASK: enable/disable Timer/Capture 0 interrupt
0000
00E0 INT_MSK0: equ E0h ; Interrupt Mask Register (RW)
0080 INT_MSK0_GPIO_PORT1: equ 80h ; MASK: enable/disable GPIO Port 1 interrupt
0040 INT_MSK0_SLEEP: equ 40h ; MASK: enable/disable sleep interrupt
0020 INT_MSK0_GPIO_INT1: equ 20h ; MASK: enable/disable GPIO INT1 interrupt
0010 INT_MSK0_GPIO_PORT0: equ 10h ; MASK: enable/disable GPIO Port 0 interrupt
0008 INT_MSK0_SPI_RX: equ 08h ; MASK: enable/disable SPI Receive interrupt
0004 INT_MSK0_SPI_TX: equ 04h ; MASK: enable/disable SPI Transmit interrupt
0002 INT_MSK0_GPIO_INT0: equ 02h ; MASK: enable/disable GPIO INT0 interrupt
0001 INT_MSK0_POR_LVD: equ 01h ; MASK: enable/disable POR/LVD interrupt
0000
00E1 INT_MSK1: equ E1h ; Interrupt Mask Register (RW)
0080 INT_MSK1_TCAP0: equ 80h ; MASK: enable/disable Timer/Capture 0 interrupt
0040 INT_MSK1_PIT: equ 40h ; MASK: enable/disable Progrmmable Interval Timer
0020 INT_MSK1_MS_TIMER: equ 20h ; MASK: enable/disable One Millisecond Timer interrupt
0010 INT_MSK1_USB_ACTIVITY: equ 10h ; MASK: enable/disable USB Bus Activity interrupt
0008 INT_MSK1_USB_BUS_RESET: equ 08h ; MASK: enable/disable USB Bus Reset interrupt
0004 INT_MSK1_USB_EP2: equ 04h ; MASK: enable/disable USB Endpoint 2 interrupt
0002 INT_MSK1_USB_EP1: equ 02h ; MASK: enable/disable USB Endpoint 1 interrupt
0001 INT_MSK1_USB_EP0: equ 01h ; MASK: enable/disable USB Endpoint 0 interrupt
0000
00E2 INT_VC: equ E2h ; Interrupt vector register (RC)
0000
0000 ;------------------------------------------------------
0000 ; System Status and Control Registers
0000 ;------------------------------------------------------
0000 ; Register bank 1.
0000 ;------------------------------------------------------
00E0 OSC_CR0: equ E0h ; System Oscillator Control Register 0 (RW)
0020 OSC_CR0_NO_BUZZ: equ 20h ; MASK: Bandgap always powered/BUZZ bandgap
0018 OSC_CR0_SLEEP: equ 18h ; MASK: Set Sleep timer freq/period
0000 OSC_CR0_SLEEP_512Hz: equ 00h ; Set sleep bits for 1.95ms period
0008 OSC_CR0_SLEEP_64Hz: equ 08h ; Set sleep bits for 15.6ms period
0010 OSC_CR0_SLEEP_8Hz: equ 10h ; Set sleep bits for 125ms period
0018 OSC_CR0_SLEEP_1Hz: equ 18h ; Set sleep bits for 1 sec period
0000
0007 OSC_CR0_CPU: equ 07h ; MASK: Set CPU Frequency
0000 OSC_CR0_CPU_3MHz: equ 00h ; set CPU Freq bits for 3MHz Operation
0001 OSC_CR0_CPU_6MHz: equ 01h ; set CPU Freq bits for 6MHz Operation
0002 OSC_CR0_CPU_12MHz: equ 02h ; set CPU Freq bits for 12MHz Operation
0003 OSC_CR0_CPU_24MHz: equ 03h ; set CPU Freq bits for 24MHz Operation
0004 OSC_CR0_CPU_1d5MHz: equ 04h ; set CPU Freq bits for 1.5MHz Operation
0005 OSC_CR0_CPU_750kHz: equ 05h ; set CPU Freq bits for 750kHz Operation
0006 OSC_CR0_CPU_187d5kHz: equ 06h ; set CPU Freq bits for 187.5kHz Operation
0000
0000 ;------------------------------------------------------
0000 ; Note: The following registers are mapped into both
0000 ; register bank 0 AND register bank 1.
0000 ;------------------------------------------------------
00F7 CPU_F: equ F7h ; CPU Flag Register Access (RO)
0000 ; Use FLAG_ masks defined at top of file
00FF CPU_SCR: equ FFh ; CPU Status and Control Register (#)
0080 CPU_SCR_GIE_MASK: equ 80h ; MASK: Global Interrupt Enable shadow
0020 CPU_SCR_WDRS_MASK: equ 20h ; MASK: Watch Dog Timer Reset
0010 CPU_SCR_PORS_MASK: equ 10h ; MASK: power-on reset bit PORS
0008 CPU_SCR_SLEEP_MASK: equ 08h ; MASK: Enable Sleep
0001 CPU_SCR_STOP_MASK: equ 01h ; MASK: Halt CPU bit
0000
0000 ;;=============================================================================
0000 ;; Register Space, Bank 1
0000 ;;=============================================================================
0000
0000 ;------------------------------------------------
0000 ; Clock and System Control Registers
0000 ;------------------------------------------------
0000
0000 ;;=============================================================================
0000 ;; M8C System Macros
0000 ;; These macros should be used when their functions are needed.
0000 ;;=============================================================================
0000
0000 ;----------------------------------------------------
0000 ; Swapping Register Banks
0000 ;----------------------------------------------------
0000 macro M8C_SetBank0
0000 and F, ~FLAG_XIO_MASK
0000 macro M8C_SetBank1
0000 or F, FLAG_XIO_MASK
0000 macro M8C_EnableGInt
0000 or F, FLAG_GLOBAL_IE
0000 macro M8C_DisableGInt
0000 and F, ~FLAG_GLOBAL_IE
0000 macro M8C_DisableIntMask
0000 and reg[@0], ~@1 ; disable specified interrupt enable bit
0000 macro M8C_EnableIntMask
0000 or reg[@0], @1 ; enable specified interrupt enable bit
0000 macro M8C_ClearIntFlag
0000 mov reg[@0], ~@1 ; clear specified interrupt enable bit
0000 macro M8C_EnableWatchDog
0000 and reg[CPU_SCR], ~CPU_SCR_PORS_MASK
0000 macro M8C_ClearWDT
0000 mov reg[RES_WDT], 00h
0000 macro M8C_ClearWDTAndSleep
0000 mov reg[RES_WDT], 38h
0000 macro M8C_Sleep
0000 or reg[CPU_SCR], CPU_SCR_SLEEP_MASK
0000 ; The next instruction to be executed depends on the state of the
0000 ; various interrupt enable bits. If some interrupts are enabled
0000 ; and the global interrupts are disabled, the next instruction will
0000 ; be the one that follows the invocation of this macro. If global
0000 ; interrupts are also enabled then the next instruction will be
0000 ; from the interrupt vector table. If no interrupts are enabled
0000 ; then the CPU sleeps forever.
0000 macro M8C_Stop
0000 ; In general, you probably don't want to do this, but here's how:
0000 or reg[CPU_SCR], CPU_SCR_STOP_MASK
0000 ; Next instruction to be executed is located in the interrupt
0000 ; vector table entry for Power-On Reset.
0000 macro M8C_Reset
0000 ; Restore CPU to the power-on reset state.
0000 mov A, 0
0000 SSC
0000 ; Next non-supervisor instruction will be at interrupt vector 0.
0000 macro Suspend_CodeCompressor
0000 or F, 0
0000 macro Resume_CodeCompressor
0000 add SP, 0
0000 PS2D_DEVICE_TYPE_NONE: equ 0x00
0001 PS2D_DEVICE_TYPE_MOUSE: equ 0x01
0002 PS2D_DEVICE_TYPE_KEYBOARD: equ 0x02
0003 PS2D_DEVICE_TYPE_OTHER: equ 0x03
0000
0001 PS2D_DEVICE_TYPE: equ PS2D_DEVICE_TYPE_MOUSE
0000
0004 PS2D_TX_BUFFER_SIZE: equ 4
0002 PS2D_CMD_MODE_WRAP_AROUND: equ 0x02
0004 PS2D_CMD_MODE_STREAM: equ 0x04
0008 PS2D_CMD_MODE_REMOTE: equ 0x08
0000
00E6 PS2_CMD_FIRST_CMD: equ 0xE6
00E6 PS2_CMD_SET_SCALING_1_1: equ 0xE6
00E7 PS2_CMD_SET_SCALING_2_1: equ 0xE7
00E8 PS2_CMD_SET_RESOLUTION: equ 0xE8
00E9 PS2_CMD_STATUS_REQUEST: equ 0xE9
00EA PS2_CMD_SET_STREAM_MODE: equ 0xEA
00EB PS2_CMD_READ_DATA: equ 0xEB
00EC PS2_CMD_RESET_WRAP_MODE: equ 0xEC
00ED PS2_CMD_UNDEFINED_ED: equ 0xED
00EE PS2_CMD_SET_WRAP_MODE: equ 0xEE
00EF PS2_CMD_UNDEFINED_EF: equ 0xEF
00F0 PS2_CMD_SET_REMOTE_MODE: equ 0xF0
00F1 PS2_CMD_UNDEFINED_F1: equ 0xF1
00F2 PS2_CMD_GET_DEVICE_ID: equ 0xF2
00F3 PS2_CMD_SET_SAMPLE_RATE: equ 0xF3
00F4 PS2_CMD_ENABLE_REPORTING: equ 0xF4
00F5 PS2_CMD_DISABLE_REPORTING: equ 0xF5
00F6 PS2_CMD_SET_DEFAULTS: equ 0xF6
00F7 PS2_CMD_UNDEFINED_F7: equ 0xF7
00F8 PS2_CMD_UNDEFINED_F8: equ 0xF8
00F9 PS2_CMD_UNDEFINED_F9: equ 0xF9
00FA PS2_CMD_UNDEFINED_FA: equ 0xFA
00FB PS2_CMD_UNDEFINED_FB: equ 0xFB
00FC PS2_CMD_UNDEFINED_FC: equ 0xFC
00FD PS2_CMD_UNDEFINED_FD: equ 0xFD
00FE PS2_CMD_RESEND: equ 0xFE
00FF PS2_CMD_RESET: equ 0xFF
0000
0000 PS2_CMD_NO_ACK: equ 0x00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -