Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

  Функция 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...