- •Введение
- •Краткие сведения об ассемблере
- •Аппаратные ресурсы Ассемблера
- •Работа с экраном
- •Int 10h ; Передача управления в bios
- •Int 10h ; Вызвать bios.
- •Int 10h ; Вызвать bios
- •Установка курсора
- •Координаты точек экрана
- •Установка режима
- •Цвет и соответствующий код
- •Int 10h ;Вызвать bios.
- •Вывод символа на экран
- •Int 10h ; Вызвать bios
- •Int 10h ; Вызвать bios
- •Вывод строки на экран
- •Int 21h ; Вызов dos
Координаты точек экрана
Положение |
Строка |
Столбец |
Строка |
Столбец
|
Десятичный формат |
Шестнадцатеричный формат |
|||
Верхний левый угол |
00 |
00 |
00 |
00 |
Верхний правый угол |
00 |
79 |
00 |
4F |
Центр экрана |
12 |
39/40 |
00 |
27/28 |
Нижний левый угол |
24 |
00 |
18 |
00 |
Нижний правый угол |
24 |
79 |
18 |
4F |
Установка режима
Режим экрана устанавливается с помощью прерывания BIOS
INT 10H. Используя функцию управления AH= 00, выбираем режим экрана согласно следующих данных.
Содержимое регистра AL может быть следующим:
02 80 х 25 черно-белый текстовый режим
03 80 х 25 стандартный 16-цветовой текстовый режим
04 320 х 200 стандартный 4-цветовой графический режим
05 320 х 200 черно-белый графический режим
06 640 х 200 черно-белый графический режим
07 80 х 25 черно-белый стандартный монохромный
0D 320 х 200 16-цветовой графический режим (EGA)
0E 640 х 200 16-цветовой графический режим (EGA)
0F 640 х 350 черно-белый графический режим (EGA)
10 640 х 350 64-цветовой графический режим (EGA)
Например, выбран стандартный 16-цветовой текстовый режим.
MOV AH,00
MOV AL,03 ; стандартный 16-цветовой текстовый режим,
INT 10H.
Текстовый режим предназначен для обычных вычислений с выво-дом букв и цифр на экран. Он обеспечивает работу с полным набором ASCII кодов (256 символов) как для черно-белых (BW), так и для цвет-ных мониторов. Каждый символ на экране отображается в своем зна-коместе. Число знакомест показано выше и зависит от режима экрана. Например, при занесении в регистр AL кода 03 весь экран представ-ляется состоящим из 25 строк по 80 знакомест в каждой строке.
Цвет всего экрана устанавливается при очистке ( смотри выше), а цвет знакоместа (фона символа) и цвет выводимого символа определя-ются содержимым регистра BL. Младшая тетрада в регистре BL опре-деляет цвет символа, а старшая тетрада – фон знакоместа (подсветку символа).В табл. 2 приведены шестнадцатеричные коды для установки цвета.
Таблица 2
Цвет и соответствующий код
Цвет |
Код цвета |
Цвет |
Код цвета |
Черный |
0H |
Серый |
8H |
Синий |
1H |
Ярко-синий |
9H |
Зеленый |
2H |
Ярко-зеленый |
AH |
Голубой |
3H |
Ярко-голубой |
BH |
Красный |
4H |
Ярко-красный |
CH |
Сиреневый |
5H |
Ярко-сиреневый |
DH |
Коричневый |
6H |
Желтый |
EH |
Белый |
7H |
Белый |
FH |
Фон любого символа может иметь один из первых восьми цветов (0H – 7H). Если фон и текст имеют один и тот же цвет, то текст полу-чается невидимым. Используя байт атрибута, можно получить также мигающие символы. Для этой цели следует добавить 8H к основному коду фона символа. Например, код красного цвета – 4H , после добав-ления к нему 8H получаем код CH. Красный фон символа будет мигать.
Пример установки цвета символа и цвета фона символа.
MOV AH,09 ;Функция вывода на экран
MOV AL,'*' ;Выводимый символ ( звездочка)
MOV BH,00 ;Страница 0
MOV BL,DAH ;Атрибут цвета , зеленая звездочка (код 2H) с миганием (в старшем разряде тетрады стоит 1 , получаем АH) на ярко-сиреневом фоне ( код DH ),
MOV CX,03 ;Число повторений выводимого символа,