mov al,0bh ;снимаем защиту от записи
out 70h,al
nop
nop
nop
mov al,01h ;нулевом разряде ставим 1
out 71h,al ;а все это в порт 71
sub DAYh, 30h ; из аски в двоичное
sub DAYl, 30h
mov al, 07h ;задаем адрес dd
out 070h, al ;посылаем адрес ячейки для последующей записи
mov ah, DAYh
mov al, DAYl
aad ;преобразуем BCD из ax в двоичное в al
out 071h, al ;пишем
;********---------------конец записи в кмос даты
mov al,0bh ;Восстанавливаем защиту от записи
out 70h,al ;для этого на регистре 0bh в
nop
nop
mov al,0 ;нулевом разряде ставим 0
out 71h,al ;а все это в порт 71
mov ah, DAYh
mov al, DAYl
aad
mov dl, al
xor al, al
mov ah, 2Bh
int 21h ; прерывание для установки даты в винде (95/98)
DAYh и DAYl содержат младшую и старшую цифры от числа дней. в кмос все нормально пишется, а вот прерывание, которое идет после, не заставляет измениться виндовскую дату. где может быть ошибка?