Функция 04h позволяет определить подключено ли световое перо или нет. Если подключено, можно определить его координаты. Функция позволяет узнать позицию светового пера и в текстовых, и в графических координатах.
Заметим, что световое перо EGA программно не полностью совместимо с CGA, в результате чего программы поддерживающие возможность использования светового пера для видеоадаптера CGA будут работать неправильно с видеоадаптером EGA. Видеоадаптер VGA не имеет светового пера. На входе: AH = 04h. На выходе: AH = 0 - световое перо не подключено (все остальные регистры не содержат полезной информации); AH = 1 - световое перо подключено; CH = координаты вертикальной позиции курсора в пикселах (графические режимы с низким разрешением); CX = координаты вертикальной позиции курсора в пикселах (графические режимы с высоким разрешением); BX = координаты горизонтальной позиции курсора в пикселах; DH = координаты вертикальной позиции курсора в номерах строк; DL = координаты горизонтальной позиции курсора в номерах колонок.
Приведем пример использования этой функции: mov ah,4 int 10h ; определяем положение светового пера cmp ah,0 ; переходим на метку not_pen, если jz not_pen ; перо не подключено mov light_pen_col,dl ; сохраняем координаты светового пера mov light_pen_row,dh