Функции BIOS для работы с экраном
Перемещение в окне вверх (06h int 10h)
Функция 06h позволяет определить на экране окно, в котором возможно прокрутить определенное количество строк вверх. При такой прокрутке верхние строки исчезают и снизу добавляются пустые строки.
Вход: АН = 06h – перемещение строк в окне вверх;
- AL = число строк для заполнения снизу;
- ВН = атрибут символов (цвет) в строке для заполнения;
- СН и CL = строка и столбец верхнего левого угла окна;
- DH и DL = строка и столбец нижнего правого угла окна.
Строки для заполнения снизу имеют цвет, определенный в ВН. Если указать AL=0, то окно очистится и заполнится строками с цветом, заданным байтом-атрибутом в ВН.
Ниже приведена программа вывода нескольких строк на экран, после чего она определяет окно на экране и прокручивает его на несколько строк вверх.
:prg05_05.asm – программа для работы с окном на экране. .data String db "dfsh3453637869uioraepBBanB" Ien_str1ng >>$-string adr_stringdd string .code ………. movcx,25 ml: mov al,1:после вывода – курсор в конец строки xorbh.bh:номер видеостраницы movbl.7: атрибут push ex mov cx,len_string:длина выводимой строки les bp.adr_string:адрес строки в пару ES:BP mov ah,l3h int l0h incdh;строка начала вывода incdl: столбец начала вывода pop ex loop ml:. определяем и прокручиваем окно вверх mov al.4:4 строки mov bh. 0 mov ch, 5 mov cl.5 .mov dh. 10 mov dl.30 mov ah.06h int 10h
Заметьте, что функция 06h достаточно гибко работает с курсором.
Перемещение в окне вниз (07h int 10h)
Функция 07h позволяет определить на экране окно, в котором возможно прокрутить определенное количество строк вниз. При такой прокрутке нижние строки исчезают и сверху добавляются пустые строки.
Вход: АН = 07h – перемещение строк в окне вниз;
- AL = число строк для заполнения сверху;
- ВН = атрибут символов (цвет) в строке для заполнения;
- СН и CL – строка и столбец верхнего левого угла окна;
- DH и DL = строка и столбец нижнего правого угла окна.
Строки для заполнения сверху имеют цвет, определенный в ВН. Если указать А1_=0, то окно очистится и заполнится строками с цветом, заданным в ВН. Структура байта атрибута аналогична описанной выше.