Перемещение в окне вверх (06h int 10h)
Перемещение в окне вверх (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, то окно очистится и заполнится строками с цветом, заданным в ВН. Структура байта атрибута аналогична описанной выше.