Системное программное обеспечение. Рощин А.В. - 74 стр.

UptoLike

Составители: 

74
Задача 3.1.2. Используя различные функции прерывания 10 BIOS,
перепрограммировать символ знакогенератора с кодом 41Н в какой-нибудь
псевдографический символ (например, в виде рожицы), заполнить весь
экран этим символом, инициализировать окно, определяемое
координатами 2,2 – 10,32, и вывести на всю первую строку этого окна
символ с кодом 42Н с повышенной яркостью и с миганием. Выход из
программы
должен осуществляться по нажатию клавиши пробел.
1 х х х х х х х х 0ffh
2 х х 82h
3 х х 84h
4 х х 88h
5 х х 90h
6 х х 0a0h
7 х х 0c0h
8 х х х х х х х х 0ffh
Assume CS: Code, DS: Code
Code SEGMENT
org 100h
Start: ; Установка видеорежима 3
mov ah,0 ; Функция 0
mov al,3 ; Режим 3
int 10h
; Перепрограммирование буквы А (код 41Н)
mov ah,11h ; Функция 11h подфункция 12h
mov al,12h ; Загрузка шрифта ПЗУ 8х8
mov bl,0 ; Блок знакогенератора
int 10h
mov bh,8 ; Высота символа в точках
mov bl,0 ; Блок знакогенератора
mov cx,1 ; Количество символов, описанных в таблице
mov dx,41h ; Код, соотв. первому символу таблицы
mov ax,cs
mov es,ax ; ES:BP – адрес таблицы
mov bp,offset tabl
mov ah,11h ; Функция 11h подфункция 10h
mov al,10h ; Загрузка шрифта пользователя
int 10h
; Установка позиции курсора
0,0
mov ah,2 ; Функция 2
mov bh,0 ; Страница 0
mov dh,0 ; Строка 0
mov dl,0 ; Столбец 0
int 10h
                                     74



     Задача 3.1.2. Используя различные функции прерывания 10 BIOS,
перепрограммировать символ знакогенератора с кодом 41Н в какой-нибудь
псевдографический символ (например, в виде рожицы), заполнить весь
экран этим символом, инициализировать окно, определяемое
координатами 2,2 – 10,32, и вывести на всю первую строку этого окна
символ с кодом 42Н с повышенной яркостью и с миганием. Выход из
программы должен осуществляться по нажатию клавиши пробел.
1   х х х х х х х х           0ffh
2   х           х             82h
3   х         х               84h
4   х       х                 88h
5   х     х                   90h
6   х   х                    0a0h
7   х х                      0c0h
8   х х х х х х х х           0ffh

Assume CS: Code, DS: Code
Code SEGMENT
       org 100h
Start:                  ; Установка видеорежима 3
       mov ah,0 ; Функция 0
       mov al,3 ; Режим 3
       int 10h
; Перепрограммирование буквы А (код 41Н)
       mov ah,11h       ; Функция 11h подфункция 12h
       mov al,12h       ; Загрузка шрифта ПЗУ 8х8
       mov bl,0         ; Блок знакогенератора
       int 10h
       mov bh,8         ; Высота символа в точках
       mov bl,0         ; Блок знакогенератора
       mov cx,1         ; Количество символов, описанных в таблице
       mov dx,41h        ; Код, соотв. первому символу таблицы
       mov ax,cs
       mov es,ax        ; ES:BP – адрес таблицы
       mov bp,offset tabl
       mov ah,11h       ; Функция 11h подфункция 10h
       mov al,10h       ; Загрузка шрифта пользователя
       int 10h
; Установка позиции курсора 0,0
       mov ah,2         ; Функция 2
       mov bh,0 ; Страница 0
       mov dh,0 ; Строка 0
       mov dl,0 ; Столбец 0
       int 10h