Сборник по задачам и примерам Assembler

     

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

 



Содержание раздела