Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка1.doc
Скачиваний:
0
Добавлен:
25.12.2019
Размер:
1.68 Mб
Скачать

4.5. Варианты заданий на лабораторную работу

  1. Сложить элементы массива A с соответствующими элементами массива B и записать результат в массив B.

  2. Вычесть элементы массива A из соответствующих элементов массива B и записать результат в массив B.

  3. Умножить элементы массива A на соответствующие элементы массива B и записать результат в массив B.

  4. Разделить элементы массива A на соответствующие элементы массива B и записать результат в массив B.

  5. Прибавить к элементам массива A единицу и записать результат в массив B.

  6. Вычесть из элементов массива A единицу и записать результат в массив B.

  7. Прибавить к элементам массива A число 10 и записать результат в массив B.

  8. Разделить элементы массива A на 2 и записать результат в массив B (использовать команду арифметического сдвига).

  9. Умножить элементы массива A на 2 и записать результат в массив B (использовать команду арифметического сдвига).

  10. Возвести элементы массива A в квадрат, и записать результат в массив B.

  11. Обнулить нечетные элементы массива A и записать результат в массив B.

  12. Обнулить четные элементы массива A и записать результат в массив B.

  13. Обнулить все элементы массива A большие 10 и записать результат в массив B.

  14. Обнулить все элементы массива A меньшие 20 и записать результат в массив B.

  15. Выполнить с элементами массива A и соответствующими элементами массива B операцию логического «И» и записать результат в массив B.

  16. Выполнить с элементами массива A и соответствующими элементами массива B операцию логического «ИЛИ» и записать результат в массив B.

  17. Выполнить с элементами массива A и соответствующими элементами массива B логическую операцию «ИСКЛЮЧАЮЩЕЕ ИЛИ» и записать результат в массив B.

  18. Выполнить с элементами массива A и соответствующими элементами массива B операцию логического «НЕ» и записать результат в массив B.

  19. Изменить знак элементов массива A на противоположный и записать результат в массив B.

  20. Вычислить модуль элементов массива A и записать результат в массив B.

5. Лабораторная работа №4

5.1. Цель работы

Изучить систему вызова и обработки аппаратных и программных прерываний для IBM PC. Изучить команду INT МП 8086. Изучить функции DOS 25H и 35H и способы установки значения вектора прерывания.

5.2. Основные теоретические положения

5.2.1. Организация системы прерываний в ibm pc

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

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

Аппаратные прерывания – это способ обратной связи устройств и процессора. Устройства используют прерывания как правило для того, чтобы сообщить процессору о готовности к передачи или приему данных, а также о какой либо исключительной ситуации. Аппаратные прерывания могут быть маскируемыми и немаскируемыми. Маскируемые прерывания – это прерывания от устройств, которые в определенных случаях могут быть проигнорированы микропроцессором. Маскируемые прерывания можно запретить или разрешить специальными командами процессора. Они имеют более низкий приоритет по сравнению с немаскируемыми прерываниями. Немаскируемые прерывания не могут быть запрещены никакими командами процессора и представляют собой сигнал от устройств о какой-либо исключительной ситуации (например, ошибка памяти, сбой в системе питания или исключение сопроцессора). Немаскируемые прерывания имеют наивысший приоритет.

Программные прерывания представляют собой вызовы специальным образом оформленных процедур обработки прерываний. Программное прерывание генерируется специальной командой процессора. Обычно программные прерывания используются для вызова каких-либо сервисов операционной системы, драйверов устройств или BIOS.

Внутренние прерывания процессора, как правило, генерируются при возникновении исключительных ситуаций при выполнении команд. Примерами таких исключительных ситуаций могут являться: переполнение при делении, неверный код операции, выход за границы сегмента и другие. Также внутреннее прерывание может генерироваться при работе процессора в режиме отладки с установленным флагом TF, когда после выполнения каждой команды, кроме команды загрузки регистра SS, вызывается обработчик прерывания отладки.

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