Назад | Начало урока | Вперед
Содержание

Глава 3

Вверх

;процедура чтения значений CMOS и RTS ****************************************
;входные параметры
;svalue - адрес ячейки чтение значения которой производится
;выходные параметры
;tek_el - прочтенное значение

readSR proc
push ax

mov al,svalue ;номер (адрес) ячейки из которой производится чтение
out 70h,al ;заносим это значние в порт smoc rts
wait
xor ax,ax ;очистка регистра ax
in al,71h ;вводим в регистр al из порта значение ячейки smoc rts
wait
mov tek_el,al ;присваеваем tek_el значение ячейки

pop ax
ret

readSR endp
;*****************************************************************************

Процедуре передается адрес (смещение) ячейки, через переменную svalue, и процедура возвращает прочтенное значение через переменную tek_el. Интересно, что эта задача решается через обращение к порту 70h.

Всего одна ячейка! Но прочитав одну ячейку, мы можем прочитать и все остальные!

Вверх

;процедура ввода значения в ячейку CMOS **************************************
;ВХОДНЫЕ ПАРАМЕТРЫ
;tek_el - записываемое значение

writeSR proc
push ax

mov al,svalue ;номер ячейки в которую будет производится запись
out 70h,al ;заносим это значение в порт smoc rts
mov al,tek_el ;в al записываемое значение
out 71h,al ;заносим это значение в порт smoc rts

pop ax
ret

writeSR endp

;******************************************************************************

Процедуре передается значение ячейки, через переменную tek_el, и процедура записывает это значение в память по адресу (смещению) svalue. Интересно, что эта задача решается через обращение к порту 70h. Всего одна ячейка! Но прочитав одну ячейку, мы можем прочитать и все остальные!


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz