Иллюстрированный самоучитель по Assembler


Пример 3-9. Чтение и обработка показаний часов реального времени


.586   ;Будут использоваться дополнительные команды

assume CS:code,ds:data 

code segment use 16

main proc

mov AX,data      ;Настроим DS наш

mov DS,Ax            ;сегмент данных

;Сохраним исходный вектор 4Ah

mov AX,354Ah

int 21h

mov word ptr old_4a,BX

mov word ptr old_4a+2,ES

;Установим наш обработчик прерываний 4Ah

mov AX,254Ah

push DS                            ;Сохраним DS

push CS                            ;Настроим DS на сегмент 

pop DS                             ;команд

mov DX,offset new_4a: DS:DX->new_4a

int 21h

pop DS                             ;Восстановим DS

;Установим будильник

movAH,02h                      ;Чтение текущего времени

int 1Ah

call add_time                   ;Прибавим 1 секунду

mov AH,06h                     ;Установим будильник на это время

int 1Ah

;Остановим программу, чтобы наблюдать прерывания

mov AH,01h                  ;Функция ввода с клавиатуры

int 21h

;Завершим программу, прибрав за собой

mov AH,07h                 ;Сброс будильника




Начало  Назад  Вперед



Книжный магазин