Здавалка
Главная | Обратная связь

Теоретические указания



INT 21h, функция 01h. Ввод символа с эхом.

при вызове: AH= 01h

при возврате: AL= байт входных данных

INT 21h, функция 06h. Прямой ввод - вывод.

при вызове: АH= 06h

DL=код символа (00h-FЕh) (при выводе), DL=FFh (при вводе)

при возврате: AL= код символа (при вводе);

если символа нет, то ZF=1

INT 21h, функция 07h. Ввод символа без эха и без обработки Ctrl/C.

при вызове: AH= 07h

при возврате: AL= байт входных данных

INT 21h, функция 08h. Ввод символа без эха.

при вызове: AH= 08h

при возврате: AL= байт входных данных

INT 21h, функция 0Аh. Буферезированный ввод с клавиатуры.

при вызове: AH= 0Аh

DS:DX =адрес буфера

при возврате: Данные помещены в буфер. Формат буфера:

байт 0 – ожидаемая длина строки,

байт 1 – фактическая длина введенной строки

байт 2 и далее – строка, заканчивающаяся 0Dh

INT 21h, функция 0Вh. Проверка состояния буфера.

при вызове: AH= 0Вh

при возврате: AL= 00h если символ не ждет,

AL= FFh если символ ждет

INT 21h, функция 0Ch. Очистка входного буфера и ввод.

при вызове: AH= 0Ch

AL= номер требуемой функции ввода (01, 07, 08, 0Ah)

DS:DX = адрес буфера (если AL=0Ah)

при возврате: AL= байт входных данных (если AL=0Ah, данные помещаются в буфер)

INT 10h, функция 00h. Чтение символа с клавиатуры.

при вызове: AH= 00h

при возврате: AL= символ ASCII, AH= скен-код

INT 10h, функция 01h. Получение состояния клавиатуры.

при вызове: AH= 01h

при возврате: если символ ожидает: ZF = 0,

AL= символ, AH=скен-код

если ожидающих символов нет: ZF=1

INT 10h, функция 02h. Получение флагов клавиатуры.

при вызове: AH= 02h

при возврате: AL= флаги. Биты байта имеют следующие значения:

0 – нажата правая клавиша Shift,

1 – нажата левая клавиша Shift,

2 – нажата клавиша Ctrl,

3 – нажата клавиша Alt,

4 – включен режим Scroll Lock,

5 – включен режим Num Lock,

6 - включен режим Caps Lock,

7 - включен режим Insert.

Вывод на экран средствами DOS.

- обращение к экрану как к файлу, с помощью прерывания DOS Int 21h с функцией 40h;

- использование группы функций DOS из диапазона 1…Ch.

Вывод на экран средствами BIOS.

INT 10h, функция 02h. Установка позиции курсора.

при вызове: AH= 02h

ВН= страница

DH= строка

DL= столбец

INT 10h, функция 03h. Получение позиции курсора.

при вызове: AH= 03h

ВН= страница

при возврате: СН= начальная строка развертки для курсора

СL= конечная строка развертки для курсора

DH= строка

DL= столбец

INT 10h, функция 05h. Установка видеостраницы.

при вызове: AH= 05h

AL= страница

INT 10h, функция 06h. Инициализация или прокрутка окна вверх.

при вызове: AH= 06h

AL= число строк прокрутки,

если AL=0, все окно очищается

ВН= атрибут символов в окне

СН=Y- координата верхнего левого угла окна

СL= X - координата верхнего левого угла окна

DH= Y - координата нижнего правого угла окна

DL= X - координата нижнего правого угла окна

INT 10h, функция 07h. Инициализация или прокрутка окна вниз.

при вызове: AH= 07h (см. функцию 06h)

INT 10h, функция 08h. Чтение символа и атрибута в позиции курсора.

при вызове: AH= 08h

ВН= страница

при возврате: АН= атрибут

AL= символ

INT 10h, функция 09h. Запись символа и атрибута в позицию курсора.

при вызове: AH= 09h

AL= символ

ВН= страница

ВL= атрибут или цвет

СХ= коэффициент повторения

INT 10h, функция 0Аh. Запись символа в позиции курсора.

при вызове: AH= 0Аh

ВН= страница

СХ= коэффициент повторения

AL= символ

INT 10h, функция 0Еh. Запись символа в режиме телетайпа.

при вызове: AH= 0Еh

ВL= цвет символа

AL= символ

INT 10h, функция 10h, подфункция 03h. Переключение бита «мерцание»/«яркость»

при вызове: AH= 1003h

ВL= значение старшего бита атрибута (0-яркость, 1-мерцание)

Структура байта атрибутов.

Биты 0-2 – цвет символа

Бит 3 – яркость символа или выбор блока знакогенератора

Биты 4-6 – цвет фона

Бит 7 – мерцание символа или яркость фона

Коды цветов

Значение кода Цвет Значение кода Цвет
Черный 8h Серый
Синий 9h Голубой
Зеленый Ah Салатовый
Бирюзовый Bh Светло-бирюзовый
Красный Ch Розовый
Фиолетовый Dh Светло-фиолетовый
Коричневый Eh Желтый
Белый Fh Ярко-белый

 

 

Задание1

1. Написать программу, используя различные функции, которая осуществляет выход из программы при нажатии клавиши «Х».

2. Выполнить следующие действия: если нажата клавиша F1 – вывести строку «Помощь», если нажата клавиша F10 – «Вы хотите выйти из Norton Commander».

Задание2

1. Вывести на экран сообщение с помощью функции 09h прерывания INT 21h. Включить в сообщение управляющие коды для ANSI-драйвера для управления положением курсора и цветом символов.

2. Вывести на экран все 256 символов четырьмя строками по 64 символа.

3. Задать окно размером в целый экран, изменив его цвет. Вывести в центр экрана окно меньшего размера другого цвета с текстом.

4. Осуществить прокрутку окна вверх и вниз на одну строку.

Задание3

1. Установить графический режим и вывести в середину экрана цветной прямоугольник.

2. Установить графический режим и цвет фона. Вывести на экран текстовые строки с помощью различных функций.

3. Установить графический режим и вывести в середину экрана цветной прямоугольник. По нажатию клавиши производить смену цвета прямоугольника.

4. Нарисовать несколько перекрывающихся прямоугольных областей различных цветов.

 

Вопросы для самоконтроля

1. Назовите функцию, с помощью которой осуществляется установка видеорежима.

2. Назовите функцию, с помощью которой можно настроить цветовой регистр.

3. Назовите функцию, с помощью которой можно установить цвет края экрана.

4. Назовите функцию, с помощью которой можно настроить цветовую палитру и установить цвет края экрана.

5. Назовите подфункцию, с помощью которой можно настроить цветовую палитру и установить цвет края экрана.

6. Функция, служащая для инициализации или прокрутки окна вверх.

7. Функция, служащая для записи символа в режиме телетайпа.

8. Функция, служащая для записи символа и атрибута в позицию курсора.

9. Функция, служащая для чтения символа и атрибута в позиции курсора.

10. Функция, служащая для переключения бита «мерцание»/«яркость».

 

ЛАБОРАТОРНАЯ РАБОТА№4

Тема: Программирование в Windows.Логические шрифты. Ресурсы программы. Описание меню. Диалоговые окна. Редакторы ресурсов.Стандартные элементы управление.Создание, регистрация и использование элементов управления Active X. Peecтр Windows.

Цель работы:Ознакомление с ресурсами, с концепцией многозадачности и многопоточности современных операционных систем, получение практических навыков по составлению, написанию и отладке программ, содержащих параллельно функционирующие процедуры и функции. Ознакомление с технологией создания многооконного интерфейса (Multiple Document Interface, MDI), получение практических навыков по составлению, написанию и отладке программ, позволяющих работать с несколькими документами (форматированными файлами) в одном приложении.

Задание1.

Необходимо изучить особенности основных видов ресурсов (иконок, курсоров, битовых образов, символьных строк, меню, окна диалога и т.д.), а также порядок их определения в ресурсных файлах приложения и их формирование во время функционирования программы. Написать программу, соответствующую варианту заданий.

 

Задание2. Многозадачность на сегодняшний день - одна из определяющих особенностей операционных систем. При подготовке к лабораторной работе необходимо ознакомится с теоретическим описанием принципа многозадачности и особенностями ее аппаратной реализации. Внимательно проработать вопросы обеспечения многозадачности (multitasking) и многопоточности (multithreading) приложений Windows. Написать программу, соответствующую варианту заданий.

Задание3. Необходимо изучить спецификацию структур окон и пользовательский интерфейс, который позволяет пользователю работать одновременно с несколькими документами. Студент должен знать иерархию родительских и дочерних окон приложения MDI в Windows, принципы их создания и обеспечения функционирования. Написать программу, соответствующую варианту заданий.

Вопросы для самоконтроля

1. Какие виды ресурсов вы знаете?

2. Каким образом создаются ресурсы?

3. Опишите процесс использования ресурсов.

4. Каким образом можно использовать альтернативные ресурсы?

5. Что необходимо сделать, чтобы заменить иконку программы и ее трей?

6. Каким образом можно создавать меню?

7. Опишите процесс использования битовых образов в меню.

8. Каким образом создаются окна диалога?

1. Поясните принцип многозадачности современных операционных систем.

2. Чем отличается многозадачность от многопоточности?

3. Каким образом аппаратно решаются задачи обеспечения многозадачности?

4. В чем заключаются особенности невытесняющей многозадачности?

5. Приведите примеры использования многопоточности в прикладных программах.

1. Приведите иерархию родительских и дочерних окон приложения MDI в Windows.

2. Какими сообщениями обмениваются родительские и дочерние окна?

3. Какими сообщениями обмениваются активное дочернее окно и окно-администратор при закрытии активного окна MDI – приложения?

4. Приведите примеры использования многооконных приложений.

 

 








©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.