Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Флаг специального прерывания TF



Флаг TF позволяет отлаживать программы. Этот флаг не устанавливается в результате работы процессора, а устанавливается программно с помощью специальной команды. Этот флаг называется также флагом трассировки или пошаговой работы.

Ввод-вывод на языке Ассемблера

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

Процедуры программных прерываний составлены разработчиками операционной системы. В нулевом блоке оперативной памяти находится Таблица Векторов Прерываний. Это область длиной 1024 байта или 256 * 4:

0000: 0000 прерывание 0 -адрес обработки процедуры прерывания:

0000 : 0004

..........

0000: 03FB - вектор прерывания

Таблица векторов прерываний представляет собой таблицу дальних переходов.

В таблице векторов прерываний не все 256 элементов содержат адреса. Векторы прерываний DOS занимают следующие номера в этой таблице:

20h – завершение программы

21h – запрос функций DOS

22h– адрес окончания

23h – адрес обработки Ctrl - Break

24h– обработка неустранимой ошибки

25h– абсолютные режимы чтения

26h– и записи диска.

27h– программа завершена, но остаётся резидентной в памяти.

Процедуры обработки прерывания в отличие от обычных процедур заканчиваются командой IRET. Вызов процедур прерывания выполняется командой

INTномер прерывания.

Команда INT № вызывает следующие действия:

1. помещает в стек три слова: регистр IP, CS и регистр флагов;

2. заменяет регистр IP, CS на соответствующий вектор прерывания;

3. выполняет процедуру обработки прерывания;

4. команда IRET восстанавливает регистр флагов, регистры CS и IP - т.е. осуществляет возврат в точку вызова.

 

Прерывание DOS int 21h:

 

Ah Действие int 21h
00h Завершение программы
01h Ввод с клавиатуры с эхо-символов
02h Вывод на экран символа из регистра DL
07h Прямой ввод без эхо-вывода (нет реакции на Ctrl -break)
08h Ввод с клавиатуры без эхо-вывода, но с реакцией на Ctrl -break
09h Вывод строки, завершающийся знаком $, адрес начала в регистре DX
0Bh Проверка состояния клавиатуры. Результат в Аh. Если Ah > 00, то ввод невозможен Если Ah = FF, то ввод возможен
0Аh Буферизованный ввод с клавиатуры
0Ch Очистка буфера клавиатуры. Выполнение функции, номер которой хранится в регистре АL
0Dh-24h Процедуры работы с файлами.
2Ah-2Dh Работа с датами и временем.

 

Пример использования прерывания 21h

Вывод символа «W» на дисплей состоит из трех команд

Mov DL, ’ W’; занести символ W в регистр DL

Mov AH, 02h; указать нужную функцию AH

INT 21h; вызов прерывания DOS 21H

Команды ввода и вывода

Языки ассемблера обычно не содержат специальных средств операций ввода исходных данных и вывода из нее результатов. Выполнение даже простой операции вывода целого числа из оперативной памяти на экран требуется множество трудоемких действий. Сначала число должно быть преобразовано из двоичного кода в десятичное число, которое потом должно быть преобразовано в строку символов (обычно в коде ASCII). Строка символов в коде ASCII должна быть передана на терминал.

Для выполнения простых операций ввода и вывода вводится некоторое расширение языка ассемблера. Это дополнительные команды языка называются макрокомандами. Они представляют собой комбинации команд базового набора, оформленные в виде так называемого «макроопределения». Макрокоманды обрабатываются на этапе трансляции подобно директивам языка ассемблера: происходит обращение к макроопределению и соответствующий текст (так называемое макрорасширение )помещается на место вызывавшей макрокоманды. Исходный текст программы, естественно, увеличивается в длине.

Необходимые команды собраны в текстовом файле MAC.lib.

Для их применения необходимо подключить библиотеку MAC.lib.

Include mac.lib

Отключить печать содержимого библиотеки директивой % nolist.

Иначе файл листинга будет очень большим.

% nolist

Include mac.lib

% list

После подключения библиотеки вновь включить вывод листинга.

 

Макрокоманды

KEY_$2BIN

ДЕЙСТВИЕ Преобразует последовательность набранных на клавиатуре символов в число со знаком, помещаемое в регистр AX.

ВХОДНЫЕ ЗНАЧЕНИЯ Отсутствуют.

ВЫХОДНЫЕ ЗНАЧЕНИЯ Если последовательность символов допустима, то CF=0 и (AX)=полученное число. Если недопустима, то СF=1.

ПРИМЕР KEY_$2BIN; Ввести число с клавиатуры

JC PRINT ERROR

MESSAGE ИМЯ-СТРОКИ

ДЕЙСТВИЕ Изображает на экране строку символов, находящуюся

в сегменте данных.

ВХОДНЫЕ ЗНАЧЕНИЯ ИМЯ-СТРОКИ.

ФОРМАТ СТРОКИ Строка должна заканчиваться символом $.

Например ILLEGAL DB ‘Ошибочное значение $’.

ВЫХОДНЫЕ ЗНАЧЕНИЯ Отсутствуют.

ПРИМЕЧАНИЕ Аналогично макроопределению MESSAGE_DX, но MESSAGE

берет указатель строки по имени, заданному пользователем,

а не из регистра.

ПРИМЕР MESSAGE ILLEGAL; Изобразить сообщение ILLEGAL

PRINT_NUMBER

ДЕЙСТВИЕ Изображает число со знаком, содержащимся в регистре AX.

ВХОДНЫЕ ДАННЫЕ (AX) =изображаемое число.

ВЫХОДНЫЕ ЗНАЧЕНИЯ Отсутствуют; содержимое регистра AX не изменяется.


Поделиться:



Популярное:

  1. X. ГЕРБ, ФЛАГ, ГИМН И СТОЛИЦА РСФСР
  2. Вопрос 3. Виды торгового оборудования и оборудования специального назначения.
  3. Глава 1. Призыв специального скелета
  4. Должна ли иметь ограничитель вертикальных перемещений автосцепка специального подвижного состава?
  5. Изучение оперативной памяти с помощью специального физического упражнения
  6. Команды условного перехода и флаги
  7. КОЭФФИЦИЕНТЫ ПРИВЕДЕНИЯ НАРАБОТКИ ДВИГАТЕЛЯ В СТАЦИОНАРНЫХ УСЛОВИЯХ К ПРОБЕГУ СПЕЦИАЛЬНОГО ТРАНСПОРТНОГО СРЕДСТВА
  8. Лишение специального, воинского или почетного звания, классного чина и государственных наград.
  9. Лишение специального, воинского или почетного звания, классного чина или государственных наград ст.48.
  10. Органеллы специального назначения. Их структура и функции.
  11. Порядок организации движения хозяйственных поездов, специального самоходного железнодорожного подвижного состава при производстве работ на железнодорожных путях и искусственных сооружениях
  12. Правовой режим земель, предоставленных для нужд обороны, безопасности и иного специального назначения


Последнее изменение этой страницы: 2016-04-11; Просмотров: 566; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.017 с.)
Главная | Случайная страница | Обратная связь