|
|
Copyright 1991 David Jurgens |
INT 33,14 - Swap Interrupt Subroutines
AX = 14h
ES:DX = far pointer to user routine
CX = user interrupt mask:
│F-8│7│6│5│4│3│2│1│0│ user interrupt mask in CX
│ │ │ │ │ │ │ │ └─── cursor position changed
│ │ │ │ │ │ │ └──── left button pressed
│ │ │ │ │ │ └───── left button released
│ │ │ │ │ └────── right button pressed
│ │ │ │ └─────── right button released
└──┴─┴─┴──────── unused
on return:
CX = previous user interrupt mask
ES:DX = far pointer to previous user interrupt
- routine at ES:DX is called if an event occurs and the
corresponding bit specified in user mask is set
- routine at ES:DX receives parameters in the following
registers:
AX = condition mask causing call
CX = horizontal cursor position
DX = vertical cursor position
DI = horizontal counts
SI = vertical counts
DS = mouse driver data segment
BX = button state:
│F-2│1│0│
│ │ └─── left button (1 = pressed)
│ └──── right button (1 = pressed)
└────── unused
- initial call mask and user routine should be restore on exit
from user program
- user program may need to set DS to it's own segment
- see INT 33,C
|
|
Esc or Alt-X to exit |
int 33,14 |
Home/PgUp/PgDn/End ←↑↓→ |