Функция предоставляет широкие возможности для вывода строк. В зависимости от параметров функции, можно определять атрибуты как строки в целом (атрибуты всех символов одинаковы), так и отдельных символов строки. После вывода строки курсор может либо оставаться на месте, либо перемещаться в позицию за последним символом только что выведенной строки.
Данная функция обрабатывает следующие управляющие символы: звуковой сигнал (BELL), перевод курсора на одну позицию назад (BACKSPACE), возврат каретки (CARRIAGE RETURN) и перевод строки (LINEFEED).
На входе: AH = 13h - вывод строки на экран;
AL = режим отображения строки:
0 - курсор не перемещается, атрибуты символов в строке одинаковы,
1 - курсор перемещается, атрибуты символов в строке одинаковы,
2 - курсор не перемещается, атрибуты каждого символа задаются отдельно,
3 - курсор перемещается, атрибуты каждого символа задаются отдельно.
BH = номер страницы видеопамяти;
BL = атрибут, если AL содержит 0 или 1;
CX = длина строки;
DH = номер строки экрана, в которой отображается строка;
DL = номер столбца экрана, в котором начинается строка;
ES:BP = адрес строки в оперативной памяти;
На выходе: Не используются.
В режимах 2 и 3 атрибуты каждого символа задаются вперемежку с самими символами строки. При этом сначала идет символ, а затем его атрибут.