Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
готовые (нету 52 ,54,28,27,25,24,23,32.).doc
Скачиваний:
7
Добавлен:
20.04.2019
Размер:
199.68 Кб
Скачать

41) Опишите принципы функционирования контроллера прерываний, взаимодействие его с процессором.

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

Т.е. это процесс, временно переключающий микропроцессор на выполнение другой программы с последующим возвратом к прерванной программе.Нажимая клавишу на клавиатуре, мы инициируем немедленный вызов программы, которая распознает клавишу, заносит ее код в буфер клавиатуры, из которого он считывается другой программой. Т.е. на некоторое время микропроцессор прерывает выполнение текущей программы и переключается на программу обработки прерывания, так наз. обработчик прерывания. После того, как обработчик прерывания завершит свою работу, прерванная программа продолжит выполнение с точки, где было приостановлено ее выполнение.Адрес программы-обработчика прерывания вычисляется по таблице векторов прерываний.Механизм прерываний поддерживается на аппаратном уровне.

42) Опишите правила проектирования программных прерываний, взаимодействие прикладных и системных обработчиков прерываний.

Набор и назначение внутренних прерываний строго регламентированы для конкретной модели процессора. Каждое внутренне прерывание связано с определенным событием в процессоре и с определенным номером в списке обрабатываемых прерываний. Например, в процессорах серии Intel 80x86 при делении на нуль возникает внутреннее прерывание с номером 0. При обработке внутренних запросов внешний контроллер прерываний не используется, т.к. процессор уже имеет информацию о номере прерывания. Переход на нужную процедуру обработки выполняется в соответствии с принципом, реализованном в конкретном процессоре.Если нужно вызвать программное прерывание из текущей программы, программист в соответствующем месте программы должен разместить специальную команду. Для процессоров серии Intel 80x86 такой командой является INTn, где n – номер нужного прерывания. При выполнении такой команды процессор получает информацию о номере прерывания непосредственно из кода команды и выполняет переход на нужную процедуру так же, как и в случае обработки других видов прерываний. При обработке программных прерываний внешний контроллер не используется.

  1. Опишите способы ввода/вывода текстовой информации на языке Ассемблер

Ассемблер, ориентированный на МП 8086 использует графический адаптер EGA. Этот адаптер обеспечивает хранение 2 графических страниц с разрешением 340х350 пикселей и 16 цветов на каждый.Адаптер поддерживает 64 цвета, хотя в каждый момент времени на экране может содержаться только 16 цветов. Этот набор 16цветов,выводимых на экран(цветная палитра) задается программа и может легко изменяться.Фоновый цвет всего экрана может принимать любое из 16 текущих значений палитры, причем на обеих страницах он изменяется одновременно. Смена цвета фона не затрагивает выведенного на экран изображения.Помимо произвольных изображений, рисуемых по пикселам, на экране в графическом режиме можно отображать и текстовую информацию, используя функции DOS и BIOS. (например INT21h с функцией 09h, или 0Аh). Для позицирования строк на экране можно использовать ф-цию 02Н драйвера BIOS (int10h) , устанавливающую местоположения курсора в текстовых координатах(номер строки от 0 до 24, номер столбца от 0 до 79).При программировании графического изображения можно использовать след. Функции видеодрайвера BIOS(INT10h) 00Н- установка видеорежима, 05Н – установка видео страницы, 0Fh –получение видеорежима,10Н, подфункция 00Н – установка цветового регистра, 10Н, подфункция 02Н – установка цветовых регистров палитры.00Н позволяет переключать режимы видеосистемы. Для адаптеров EGA текстовый режим имеет код 03, графический 10Н.Программа использующая оба режима может использовать функцию 0Fh(определяет номер видеорежима).Функция 05Н переключает видеостраницу, номер страницы заносится в регистр al.Для рисования изображения предусмотрена единственная функция 0Ch – вывод пиксела. В регистр al заносится значение цвета пиксела, в регистр bh -номер страницы( не обязательно активный), в регистре cx,dx координаты пиксела.(х= от 0 до 639,y= 0 до 349).

Цвета пикселов на экране, как и цвета фона задаются содержимым цветовых регистров. Всего а адаптере EGA имеется 17 цветовых регистров, каждый из которых может содержать коды от 0 до 63. Регистр 0 определяет цвет фона, 16 – цвет края экрана, а с 1 по 15 – цвета пикселов. Код цвета, указываемого в программе(al функции 0Cн) определяет не цвет, а номер цветового регистра используемого для вывода на экран заданного пиксела. Цвет пиксела определяется числом, хранящемся в регистре.

Каждый цветовой регистр содержит 6 значащих разрядов, которые определяют интенсивность красного, зеленого, синего цветов. Разряды 0,1,2 закреплены за цветами красный, зеленый и синий с интенсивностью 2/3 от максимальной, а 3,4,5 за теми же цветами, с интенсивностью 1/3.

Mov ah, 0ch

Mov al,5

Mov bh,0

Mov cx,100

Mov dx,150

Int 16h