IPB
ЛогинПароль:

> ПРАВИЛА РАЗДЕЛА!!!

1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!

> Работа с com-портом, передать\ установить системное время
сообщение
Сообщение #1


Знаток
****

Группа: Пользователи
Сообщений: 306
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Всем привет! smile.gif По заданию, мне нужно передать системное время,а затем установить в принимающей машине новое системное время, равное переданному.
Нашёл функции по взятию и установки системного времени: 2cH и 2dH, соответственно...
Вот как я их использую:

data segment

h db ?
m db ?
s db ?
ms db ?

data ends

code segment
assume cs:code, ds:data

GetTime proc

push ax
push cx
push dx

xor ax,ax
xor cx,cx
xor dx,dx

mov ah, 2ch
int 21h

mov h, ch
mov m, cl
mov s, dh
mov ms,dl

pop dx
pop cx
pop ax
ret
GetTime endp

SetTime proc

push ax
push cx
push dx

xor ax,ax
xor cx,cx
xor dx,dx

mov ch, 11h
mov cl, 0
mov dh, 0
mov dl, 0

mov ah, 2dh
int 21h


pop dx
pop cx
pop ax
ret
SetTime endp

start:
mov ax, data
mov ds, ax

call GetTime
call SetTime
;call GetTime

fin: mov ax, 4c00h
int 21h

code ends
end start


Почему не происходит установка нового времени?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
Почему не происходит установка нового времени?
происходит... Время устанавливается, и сохраняется, пока твоя программа работает. Можешь проверить: напиши процедуру, печатающую текущее время, измени время, и распечатай его...

Если ты хочешь, чтобы был постоянный эффект - запускай программу под ДОС, а не под Windows. И, кстати, проверяй регистр AL после установки времени, только в случае если AL = 0 операция завершилась корректно.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Знаток
****

Группа: Пользователи
Сообщений: 306
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Цитата(volvo @ 27.03.2009 22:21) *

происходит... Время устанавливается, и сохраняется, пока твоя программа работает. Можешь проверить: напиши процедуру, печатающую текущее время, измени время, и распечатай его...

Если ты хочешь, чтобы был постоянный эффект - запускай программу под ДОС, а не под Windows. И, кстати, проверяй регистр AL после установки времени, только в случае если AL = 0 операция завершилась корректно.

А чтобы в Windows время поменялось, что нужно сделать? И как вообще программу под ДОС запустить?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 16:40
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name