INT 10h,  03h (3)        Read Cursor Position and Size

Reports the cursor position (row and column) and size for a specified
display page.

On entry:      AH         03h
BH         Display page number

Returns:       CH         Cursor start line
CL         Cursor end line
DH         Row
DL         Column

Registers destroyed:      AX, SP, BP, SI, DI

          Cursor Start and End line values (CH and CL)

                            Legal               Default
      Adapter            Start  End         Start      End
CGA                 0     7            6         7
MDA                 0    13           11        12
EGA                 0    13          6(11)     7(12)  Depends on mode

Notes:         This service can report the position of the cursor
on the active display page or on an inactive page.
Since there is only one hardware cursor, the cursor
start line (CH) and cursor end line (CL) (and hence
the size of the cursor) will be the same no matter
what page number is specified.

In graphics modes, this service reports the logical
position of the cursor, even though the cursor
itself is not displayed.

The upper left corner of the display is DH = 0h,
DL = 0h, while the lower right corner is DH = 18h
(24), DL = 27h (39) for 40-column mode or 4Fh (79)
for 80-column mode.

See Service 05h for a list of legal page numbers for
the different display modes. Because the service
does no value checking, erratic results can occur if
you specify an illegal page number. The page number
for graphics modes is 0.

Use Service 02h to set the current cursor position.

Use Service 01h to set the current cursor size.

Early versions of the Monochrome Display Adapter
(MDA) and the Compaq display adapter had a bug. They
incorrectly reported the cursor start and end scan
lines after the video adapters were initialized (the
mode had changed or the machine was powered on). The
MDA would report the cursor size as CH = 06h, CL =
07h, instead of CH = 0Bh, CL = 0Ch. The Compaq
reported the cursor size as CH = 00h, CL = 67h, for
any display mode. Note that this is a problem only
after the mode has changed or after power-up. Once
the cursor size is set (using service 01h), then
this service will report the correct cursor size.

See also: INT 10h, 01h
See also: INT 10h, 02h
See also: INT 10h, 05h

INT 10h, 03h (3) Read Cursor Position and Size