Функция DOS 25H. Назначение: установка значения вектора прерывания. Номер вектора прерывания заносится в регистр AL. Регистровая пара DS:DX определяет адрес (сегмент:смещение) процедуры обработки прерывания. При использовании функции 25H нет необходимос
Функция DOS 25H. Назначение: установка значения вектора прерывания. Номер вектора прерывания заносится в регистр AL. Регистровая пара DS: DX определяет адрес (сегмент: смещение) процедуры обработки прерывания. При использовании функции 25H нет необходимости запрещать маскируемые прерывания командой CLI и разрешать их затем командой STI – это сделает DOS. Пример использования функции 25H: Timer PROC ; процедура обработки прерывания таймера . . . IRET Timer ENDP . . . MOV AH, 25H MOV AL, 1CH ; прерывание таймера MOV BX, SEG Timer MOV DS, BX ; настройка DS: DX MOV DX, OFFSET Timer; на процедуру Timer INT 21H Функция DOS 35H. Назначение: получение значения вектора прерывания. Номер вектора прерывания заносится в регистр AL. После вызова функции регистровая пара ES: BX содержит адрес (сегмент: смещение) процедуры обработки прерывания. Пример использования функции 35H: OLD_Timer DD? ; ячейка для хранения адреса старого ; обработчика прерывания таймера . . . MOV AH, 35H MOV AL, 1CH ; прерывание таймера INT 21H MOV WORD PTR OLD_Timer, BX MOV WORD PTR OLD_Timer + 2, ES
Задание на лабораторную работу Подпрограмма должна выполняться через вызов пользовательского прерывания (например, INT 60h). Адрес подпрограммы должен быть занесен в таблицу векторов прерываний при помощи функций DOS 25h и 35h. Подпрограмма должна выполнять действия, указанные в конкретном задании, при этом подпрограмме должны передаваться параметры N и j. Подпрограмма также должна возвращать результаты работы в регистрах общего назначения. После вызова подпрограммы программа должна восстановить адрес старого обработчика прерывания при помощи тех же функций DOS.
Параметры N и j могут передаваться в подпрограмму обработки прерывания через регистры общего назначения или через ячейки памяти. Значения параметров N и j не должны быть тривиальными (например, 1 или 0). Значение параметра N должно быть больше 1. При вычислении произведений значения параметров N и j следует выбирать так, чтобы не происходило переполнения разрядной сетки для факториальных выражений. При вычислении значений сумм и произведений с использованием логических операций под знаком суммы или произведения следует учитывать приоритеты логических и арифметических операций. В процессе проверки работы программы в отладчике для выполнения в пошаговом режиме подпрограммы обработки прерывания необходимо команду INT выполнить в режиме пошагового выполнения команды (нажать комбинацию клавиш Alt+F7). Работу программы в отладчике проверить для нескольких пар значений параметров N и j. Варианты заданий на лабораторную работу 1. Вычислить значение суммы: 2. Вычислить значение произведения: 3. Вычислить значение суммы: 4. Вычислить значение произведения: 5. Вычислить значение суммы: 6. Вычислить значение произведения: 7. Вычислить значение суммы: 8. Вычислить значение произведения: 9. Вычислить значение суммы: 10. Вычислить значение произведения: 11. Вычислить значение суммы: 12. Вычислить значение произведения: 13. Вычислить значение суммы: 14. Вычислить значение произведения: 15. Вычислить значение суммы: 16. Вычислить значение произведения: 17. Вычислить значение суммы: 18. Вычислить значение произведения: 19. Вычислить значение суммы: 20. Вычислить значение произведения:
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|