Note that the subservice number must go into AX, not AH or AL individually. Service 33H, subservice 0: Reset Mouse and Get Status Returns 0 in AX if there is an error, e.g. if no mouse is present. Service 33H, subservice 1: Show Mouse Pointer The mouse pointer will appear at the center of the screen. Service 33H, subservice 5: Get Button Press Information The information will be returned in AX, with bits 0, 1 and 2 indicating information on the left, middle and right buttons, respectively (a value of 1 means the button is down, 0 means up). Service 33H, subservice 3: Get Mouse Position The current mouse position will be returned in registers CX and DX. These will be pixel positions for a "virtual screen" which has 8*25 = 200 pixels vertically and 8*80 = 460 pixels horizontally. So, to translate this to row and column numbers, use div 8.