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


Знаток
****

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

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


Написал программы для передающей машины (out1.txt) и принимаюшей (inp1.txt).
Как реализовать следующие моменты:

1.

;передающая машина

call GetTime

mov cx,4

mm: add dx,5
mm1: in al,dx
and al, 01100000b
cmp al, 01100000b
jnz mm1
;в al записать очередной символ
sub dx,5
out dx,al
loop mm


То есть, как часы, минуты, сек и мсек отправить?

2.

;принимающая машина
mov cx,4

mm: add dx,5
mm1: in al,dx
test al,00000001b
jz mm1
sub dx,5
in al,dx
;сохранить этот символ
loop mm

call SetTime


Как вообщем эти переменные принять и сохранить?




Прикрепленные файлы
Прикрепленный файл  out1.txt ( 2.19 килобайт ) Кол-во скачиваний: 420
Прикрепленный файл  inp1.txt ( 2.16 килобайт ) Кол-во скачиваний: 456
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 





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