Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ускорение хода системных часов, Помогите разобраться в коде 
:(
    Опции темы
JJester
Дата 21.9.2007, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 3.12.2006

Репутация: нет
Всего: нет



У мне есть код, который ускоряет ход системных часов (работает только под читым DOS'ом):

Код

  mov dx,43h
  mov al,00101111b
  out dx,al
  mov al,0
  mov dx,40h
  out dx,al
  retn


Помогите пожалуйста разобраться что к чему в этом коде.
PM MAIL   Вверх
dumb
Дата 22.9.2007, 03:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 2
Всего: 158



Код

  mov dx,43h        ; PIT[PROGRAMMABLE INTERVAL TIMER (8253, 8254)] mode port,
                    ; control word register for counters 0-2
  mov al,00101111b  ;
;        00  counter 0 select [7-6    counter select]
;          10  read/write counter bits 8-15 only [5-4    counter access]
;            x11 mode 3 select - square wave generator [3-1    counter mode]
;               1  BCD counter (4 decades) [0    counting style]
  out dx,al
  mov al,0          ; обнуляем старший октет(bits 8-15) делителя таймера
  mov dx,40h        ; PIT  counter 0, counter divisor
  out dx,al


в общем и целом: есть некий уменьшающийся счетчик. при переходе через 0 генерится таймерное прерывание и значение счетчика инициализируется неким значением. вот это значение и уменьшается путем обнуления старших 8 бит в значении.
PM MAIL   Вверх
JJester
Дата 22.9.2007, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 3.12.2006

Репутация: нет
Всего: нет



Цитата(dumb @ 22.9.2007,  03:53)
в общем и целом: есть некий уменьшающийся счетчик. при переходе через 0 генерится таймерное прерывание и значение счетчика инициализируется неким значением. вот это значение и уменьшается путем обнуления старших 8 бит в значении.

А во сколко раз при этом увеличится частота обновления системного таймера?
PM MAIL   Вверх
dumb
Дата 23.9.2007, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 2
Всего: 158



Цитата(JJester @  23.9.2007,  00:57 Найти цитируемый пост)
А во сколко раз при этом увеличится частота обновления системного таймера?
это зависит от того, какое было значение делителя до его изменения.
PM MAIL   Вверх
JJester
Дата 23.9.2007, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 3.12.2006

Репутация: нет
Всего: нет



Цитата(dumb @ 23.9.2007,  00:36)
это зависит от того, какое было значение делителя до его изменения.

Ну допустим, если я хочу ускорить системное время в 10 раз, что мне для этого надо сделать?
PM MAIL   Вверх
MAKCim
Дата 23.9.2007, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: нет
Всего: 207



Цитата(JJester @  23.9.2007,  01:01 Найти цитируемый пост)
Ну допустим, если я хочу ускорить системное время в 10 раз, что мне для этого надо сделать? 

по-умолчанию
системная частота 1.1Mhz
т. е значение счетчика 0xFFFF
если значение счетчика уже было изменено, имхо, узнать ее точно невозможно

Это сообщение отредактировал(а) MAKCim - 23.9.2007, 08:48


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для Windows/DOS"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для Windows/Dos | Следующая тема »


 




[ Время генерации скрипта: 0.0958 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.