![]() |
Страницы: (17) Все « Первая ... 8 9 [10] 11 12 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
Гость_Andrew |
|
|||
Unregistered |
КОД
#include<iostream.h> #include<dos.h> #include<conio.h> void main() { int d=0,a=0,c=0; unsigned int msec=1000; outportb(0x378,0); do { do { asm { mov ax,msec mov dx,1000 mul dx;// dx:ax microseconds mov cx,dx mov ah,0x86 int 0x15;// wait cx:dx microseconds } a=a^1; outportb(0x378,a); } while(!kbhit()); c = getch(); if (c == 72) msec=msec+1; if ((c == 80)&(msec>1)) msec=msec-1; } while(c!=27); outportb(0x378,0); } Вот. "Лампочка" что к LPT подключена, мигает пока "msec" больше 65, а как тока меньше сделаешь, так сразу просто гореть начинает |
|||
|
||||
Chingachguk |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: 11 Всего: 18 |
Может, так и должно быть ? Трудно увидеть частоту моргания > 1000/65 ?
Да и у лампочки должна быть инерция. Вообще-то этот сервис подглючивает, то ли из-за win, то-ли на новых компах. Попробуй команду rdtsc. Она выдает 64-ти четырехбитный счетчик тактов процессора в регистрах edx:eax. Когда проц исполняет команды, он тратит на них такты (частота CPU). Но если ты хочешь универсального кода (на любых компах), то тебе придется калибровать эту процедуру. Допустим, ты измеряешь число тактов за секунду и тогда 0,1 сек - это 1/10 от этого цикла:
Это сообщение отредактировал(а) Chingachguk - 2.7.2004, 13:05 -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
я так весь ваш трейд о милисекундах не читал
![]() ну так у нас есть же таймер который вырабатвает int 8 вроде ну дык его надо перепрограмировать на нужый отрезок и все ![]() -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 1 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Chingachguk |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: 11 Всего: 18 |
Да грил я про это... Видимо, в данном случае не требуется что-то большее, чем Super_Delay(unsigned micsec). Вы бы уж тогда и хэндлер новый привели ;) Akina Интересно, что скажет винда на попытку переставить частоту выше, чем ее собственная ? ;) -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
Ivan Ryzhakov |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 4.7.2004 Репутация: нет Всего: нет |
Посмотрел ваши уроки. Очень интересно, а об особенностях порграммирования ассемблером в юникс-системах не могли бы что-нибудь написать?
|
|||
|
||||
antonmasteR |
|
|||
Unregistered |
а где можно найти описание по всем функциям под дос ???
|
|||
|
||||
Guest |
|
|||
Unregistered |
и где можна найти описание по буферам. т. есть где буфер монитора, клавиатуры...
|
|||
|
||||
Chingachguk |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: 11 Всего: 18 |
Ivan Ryzhakov
К сожалению, я крайне мало кодировал под *nix, да и то на C. Так что считать себя достойным писать про эту платформу, разумеется, не могу. Рекомендую следуюущие источники: - статья на wasm.ru должна быть специально про *nix. - Зубков С.В. , "Программирование на языке ассемблера". В целом из той литературы, которую я читал по этому вопросу, авторы сходятся на мнении, что под nix писать лучше на си, только оптимизацию отдельных относительно платформеннонезависимых подпрограмм вроде video-вывода (Зубков) имеет смысл писать на асм. С другой стороны (я опять тут не практик) кто-то как-то пишет эксплойты под nix, а это означает достаточно глубокое знание этой платформы. Но вот про эксплойты под nix я литературы не видел, даже у того же Касперски. antonmasteR Ральф Браун, Interrupt List, прерывания int 21h и вспомогательные типа int 23h, 24h, 25h ... etc. Некоторые пишут про TechHelp, но я не юзал. Guest Это очень общий вопрос. Что именно тебя интересует ? Простые примеры работы с Video или Keyboard ты легко найдешь в книгах по ассемблеру. У того же Зубкова есть примеры с текстовым буфером VGA (B8000h), графикой (обычно рассматривают режим 320x200, 256 цветов - про это пишет Зубков). Разумеется, там же можно прочесть про клавиатуру. Источник доступен в электронном виде. Ссылку я уже давал в этом разделе или яндекс. -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
в целом под *никсы даже легче чем под виндос писать
![]() очень дос напоминает ![]() -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
Jin X |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 5.3.2004 Репутация: нет Всего: 1 |
Народ!!! Вы бы хоть ссылки, которые я привёл почитали
![]() Ничего перепрограммировать не надо, иначе будут тормоза и прочие проблемы. Кому это надо? Значение счётчика (> 1 МГц) можно читать, ничего не перепрограммируя. --------------------
Бойся своей мечты, ибо она осуществима! |
|||
|
||||
antonmasteR |
|
|||
Unregistered |
не могу найти ![]() может кинеш линк или на мыло [email protected] |
|||
|
||||
kusa |
|
|||
Unregistered |
А что такое byte ptr <registr> кто-нибудь может объяснить?
|
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 1 Всего: 454 |
это указатель на байт, адрес коего в указанном регистре. Т.е. в операции будет задействована ячейка оперативной памяти размером в байт, смещение адреса которой берется из указанного регистра, а сегмент - из сегментного регистра по умолчанию для данного регистра, если таковой не переопределен явно. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Jin X |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 5.3.2004 Репутация: нет Всего: 1 |
Akina, не правда.
А вот:
--------------------
Бойся своей мечты, ибо она осуществима! |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "Asm для начинающих" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm для начинающих | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |