Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

как оформить задержку на асссемблере?

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
kefir
Гость





СообщениеДобавлено: Пн Июн 10 2002 01:19    Заголовок сообщения: как оформить задержку на асссемблере? Ответить с цитатой

пишу прогу под дос(драйвер для своей бегущей строки) нужно оформить задержку порядка 0,5 сек.
mov cx,0ffffh
Wait:
loop wait
этого хватает на мало!!! поэтому не предлагать!
Вернуться к началу
FUKS



Зарегистрирован: 14.04.2002
Сообщения: 148
Откуда: Москва

СообщениеДобавлено: Пн Июн 10 2002 04:42    Заголовок сообщения: Re: как оформить задержку на асссемблере? Ответить с цитатой

Если при работе программы не отжидается прерываний кроме как от системного таймера, то в цикл вставляется команда hlt, а счётчик заряжается количеством тиков по 1/18.2 секунды. Если же в процессе юзер мышку гоняет, клавиатуру топчет и т.п., тогда по-грамотному надо - либо перехватывать прерывание 1c и считать попадания в обработчик, либо анализировать двойное слово по адресу 0:46ch (счётчик тиков) и учитывать флаг (1 байт) по адресу 0:470h (переход через полночь).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Valera
Гость





СообщениеДобавлено: Пн Июн 10 2002 04:44    Заголовок сообщения: А если 0xFFFF раз вызвать цикл? (+) Ответить с цитатой

Но такая задержка будет зависеть от машины.
Лучше обращаться к какому-нибудь порту в цикле.
Или где-то по адресам 0:400- пишется состояние счетчика тиков, 1/52 сек.
Или прерываение от таймера 1/52 сек обрабатывай.
Вернуться к началу
Valera
Гость





СообщениеДобавлено: Пн Июн 10 2002 04:46    Заголовок сообщения: Сорри, правильно читать "FUKS 10-06-2002 05:42" - давно это было, забыл (-) Ответить с цитатой

-
Вернуться к началу
Roman_2002



Зарегистрирован: 21.05.2002
Сообщения: 56
Откуда: Львов

СообщениеДобавлено: Пн Июн 10 2002 10:26    Заголовок сообщения: Re: как оформить задержку на асссемблере? Ответить с цитатой

Если процессор с кешем всех уровней то этот номер не пройдет.
Можеш попробывать

mov dx, 0FFFFh
mov cx, ????
_wait:
out dx, al ; приблизительно 1-1,5 мкс занимает
; но по NT непроканает!!!
loop _wait
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
kefir
Гость





СообщениеДобавлено: Вт Июн 11 2002 00:54    Заголовок сообщения: Re: как оформить задержку на асссемблере? Ответить с цитатой

Да это простая прога под дос, которая выводит ннформацию в 378 порт... и ее нужно немного задержать, для того чтобы регистр успел ее записать! Smile)
есть ли какая-нть ф-я дос для задержки?
Вернуться к началу
FUKS



Зарегистрирован: 14.04.2002
Сообщения: 148
Откуда: Москва

СообщениеДобавлено: Вт Июн 11 2002 03:26    Заголовок сообщения: Re: как оформить задержку на асссемблере? Ответить с цитатой

>>Да это простая прога под дос, которая выводит ннформацию в 378 порт... и ее нужно немного задержать, для того чтобы регистр успел ее записать! Smile)

Блин-переблин, при чём тут задержка, готовность порта анализировать надо! А вообще-то программа инициализирует COM-порт или сразу в 378 гонит? Cool Наверно таки инициализирует, должна знать, что готовность к передаче (к записи в порт вывода) - 5-й бит (маска 20h) в порту 3fdh.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Uraa
Гость





СообщениеДобавлено: Пн Июн 17 2002 00:23    Заголовок сообщения: Re: как оформить задержку на асссемблере? Ответить с цитатой

Мужик Ты доки читал?
Ты в курсе, что после 486(superscalar) такая задержка Интелу в жопу?
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...