INT 33,18 - Set alternate subroutine call mask and address

	AX = 18h
	DX = offset to function
	CX = user interrupt mask:

		│F-8│7│6│5│4│3│2│1│0│ user interrupt mask in CX
		  │  │ │ │ │ │ │ │ └─── alt key pressed during event
		  │  │ │ │ │ │ │ └──── ctrl key pressed during event
		  │  │ │ │ │ │ └───── shift key pressed during event
		  │  │ │ │ │ └────── right button up event
		  │  │ │ │ └─────── right button down event
		  │  │ │ └──────── left button up event
		  │  │ └───────── left button down event
		  │  └────────── cursor moved
		  └──────────── unused

	- entire mask is set to zero when INT 33,0 is called
	- up to three handlers may be defined with this call
	- mask should be cleared before program exit
	- when handler is called it 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