Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 495
от 28.02.2003, 23:10
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 2673 Отправлено ответов: 8007 Активность: 299.5 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Kostyan Статус: Начальный Общий рейтинг: 106.06 [Подробней >>] |
Maverick Статус: Профессиональный Общий рейтинг: 138.44 URL: Задачи по ассемблеру Телефон: 89039415024 (BeeLine GSM) [Подробней >>] |
Joy Статус: Доверительный Общий рейтинг: 123.07 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 118.54 [Подробней >>] |
Илья Статус: Доверительный Общий рейтинг: 109.38 [Подробней >>] |
DiGiT[old] Статус: Профессиональный Общий рейтинг: 110.02 [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 150.49 URL: Программирование [Подробней >>] |
Andrew Vext Статус: Опытный Общий рейтинг: 107.59 [Подробней >>] |
Eugene Статус: Опытный Общий рейтинг: 109.32 URL: мощный файловый архив [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 125.76 URL: моя рассылка по Protected Mode [Подробней >>] |
Igoryk Статус: Профессиональный Общий рейтинг: 135.16 URL: IgorykSoft [Подробней >>] |
baldr Статус: Профессиональный Общий рейтинг: 113.83 URL: Сайт об ОС DOS. Всем, кто любит эту ОС! [Подробней >>] |
Топор Статус: Доверительный Общий рейтинг: 109.44 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 2639. Esli mozhno dayte primer kak povesit function na prerivanie ot timera toest chtob ona vizivalas 18 r... (ответов: 5)
Вопрос № 2640. Здравствуйте уважаемые эксперты. Скажите, пожалуйста, как в .com программе выводить на экран рисунки... (ответов: 2)
Вопрос № 2641. Здраствуйте уважаемые эксперты ! Подскажите как создавать GDT и LDT. Почему их 2. Уж больно круто он... (ответов: 3)
Вопрос № 2642. Здравствуйте господа эксперты !!! Не могли бы вы написать программку генерации случайных чисел ? Зар... (ответов: 5)
Вопрос № 2643. Сорри за оффтоп, но куда пропал Артем Шегеда ?... (ответов: 2)
Вопрос № 2644. Отвечает Broken Sword Доброе время суток, m0v8lack! 1. Набери EXP ExitProc. Что ты видишь? 2. :) не... (ответов: 1)
Вопрос № 2645. Когда-то проскакивала информация, что у кого-то из экспертов есть исходники 6-го доса. Не мог бы он ... (ответов: 2)
Вопрос № 2646. Привет, уважаемые эксперты! Столкнулся вот с чем: не получается делать подмену клавиш в обработчике ... (ответов: 4)
Вопрос № 2647. кто-нить может подсказать ссылочку на доки по программырованию под Вындовз и/или написание под него ... (ответов: 4)
Вопросов: 9, ответов: 28
Вопрос № 2639 |
Esli mozhno dayte primer kak povesit function na prerivanie ot timera toest chtob ona vizivalas 18 raz vsecundu. znayu chto nado cherez AH=25/35 int 21h no chto-to ne vihodit.
Вопрос отправлен: 23.02.2003, 17:11
Отправитель: alex
[Следующий вопрос >>] [Список вопросов]
Отвечает Kostyan
Приветствую Вас, alex!
Пример перехвата прерывания 1Ch в приложении.
Приложение:
Ответ отправлен: 23.02.2003, 20:02
Отправитель: Kostyan
Отвечает Maverick
Здравствуйте, alex!
Ты предлагаешь написать тебе? Ну куча же примеров есть перехватчиков. Замени там перехватываемое прерывание и все.
Несправишся, пиши на maverick@nightmail.ru
Ответ отправлен: 24.02.2003, 15:02
Отправитель: Maverick
Отвечает Joy
Здравствуйте, alex!
Я не понял, что у тебя не получается? AH=35h, AL=08h, int 21h. Получаешь вектор прерывания. Сохраняешь старый вектор. Потом AH=25h, AL=08h, DS:DX выставил на свой обработчик и int 21h.
Ответ отправлен: 25.02.2003, 08:24
Отправитель: Joy
Отвечает Ayl
Добрый день, alex!
Что не выходит? Повесится не выходит? Или что?
Вообще-то перехватить прерывание ты можешь вот так (см. Приложение).
Можешь вместо прерывания 8 перехватывать 1ch - его проще обрабатывать.
Приложение:
Ответ отправлен: 25.02.2003, 12:37
Отправитель: Ayl
Отвечает Илья
Добрый день, alex!
Если понадобится, могу выслать курсач, где это делается. Но придется многое вырезать. Если что, то b.i@date.by.
Ответ отправлен: 24.02.2003, 01:54
Отправитель: Илья
Вопрос № 2640 |
Здравствуйте уважаемые эксперты.
Скажите, пожалуйста, как в .com программе выводить на экран рисунки, при параметрах экрана: 1024*768 и 24-битном цвете.
Моя программа, приведенная в приложение, считывает строки из .bmp файла, приводит их к формату 118h режима и копирует в видео буфер. Но скорость невысокая - 2-3 файла с размерами 1023*767 в секунду. Скажите, пожалуйста, как увеличить с корост хотя бы до 25 кадров (просмотренных файлов) в секунду.
И еще вопрос: почему эта программа после 12-13 просмотренной картинки отказывается считывать новые и выводит пустой экран произвольного цвета.
Приложение:
Вопрос отправлен: 23.02.2003, 18:21
Отправитель: Alexej_m
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Здравствуйте, Alexej_m!
1. А ты на скорость обращения к диску не смотрел? Между прочим, скорость обращения к диску в несколько сотен раз меньше, чем к памяти. А теперь посмотри на размер файла и раздели его на 36h - получишь сколько ты раз из него читаешь.
Если уменьшишь обращение к диску - сможешь поднять скорость.
2. Программка неоптимально написана... Можно пооптимизировать.
Ответ отправлен: 25.02.2003, 12:49
Отправитель: Ayl
Отвечает Joy
Добрый день, Alexej_m!
Ты видел сколько занимает bmp-файл с такими параметрами? Так вот он занимает 2,25 Mb!!! Ты хочешь "хотя бы 25!!!!" таких файлов за секунду открыть, прочитать и вывести на экран? Это 2,25*25=56,25 Mb!!!!! Это просто не реально! Тебе надо или уменьшать разрешение (хотя это тоже не выход), или изучать форматы видеофайлов (например avi).
А на счет проги - попробуй ее изменить таким образом, чтобы она читала текстовые файлы (вместо графических), где будет написано типа "Файл 1", в дугом "Файл 2" и т.д. Здесь ты быстрей найдешь ошибку. Скорей всего ты напутал что-то с переходами (или стеком).
Ответ отправлен: 25.02.2003, 08:07
Отправитель: Joy
Вопрос № 2641 |
Здраствуйте уважаемые эксперты !
Подскажите как создавать GDT и LDT.
Почему их 2. Уж больно круто они описаны в helpe.
Мне б только самое важное..Заранее спасибо.
Вопрос отправлен: 23.02.2003, 19:27
Отправитель: Yura (ivanovx@inbox.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Maverick
Здравствуйте, Yura!
Выслал подробное описание GDT Семенко.
Ответ отправлен: 24.02.2003, 15:02
Отправитель: Maverick
Отвечает DiGiT[old]
Доброе время суток, Yura!
Ну если тебе нужно самое нужное, то описывай тока GDT. Зайди на alexfru.chat.ru там есть готовый пример, посмотри как там сделано
Ответ отправлен: 25.02.2003, 04:47
Отправитель: DiGiT[old]
Отвечает Bob Johnson
Доброе время суток, Yura!
Создают их в соответствии с описанием - см. его. Там не так все сложно. Почему две? Для того, чтобы (в теории) каждое приложение (т.е. отдельная задача) могла иметь до 8191 сегмента. При этом система сможет поддерживать около 8 тысяч задач. Если бы была только одна таблица - тогда всего во всей системе могло бы быть только 8191 дескриптор сегментов, и если, например, задаче бы было выделено 100 дескрипторов, то таких задач никак 82 не могло бы работать одновременно.
В действительности же в windows каждая задача пользуется только двумя сегментами: кода и данных (он же стека). Это очень удобно, т.к. позволяет забыть о том, что сегменты есть вообще.
Ответ отправлен: 26.02.2003, 15:35
Отправитель: Bob Johnson
Вопрос № 2642 |
Здравствуйте господа эксперты !!!
Не могли бы вы написать программку генерации случайных чисел ? Заранее спасибо !!!
Вопрос отправлен: 23.02.2003, 21:50
Отправитель: Олег (kirillovoleg@narod.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Joy
Добрый день, Олег!
И где вас таких шустрых делают? Ответ: НЕТ! Не могли бы. Ты бы сам попробывал, а вот если что не получается, то пиши что не получается и исходник в приложение кидай.
Ответ отправлен: 24.02.2003, 07:46
Отправитель: Joy
Отвечает Kostyan
Приветствую Вас, Олег!
В приложении программа, выводящая на экран 256 случайных восьмибитных чисел.
Приложение:
Ответ отправлен: 24.02.2003, 11:18
Отправитель: Kostyan
Отвечает Maverick
Доброе время суток, Олег!
Конечно могли бы...
Но ведь гораздо приятнее самому :)
Есть же функции, чтоб узнать значение таймера, вот и используй их.
Ответ отправлен: 24.02.2003, 15:02
Отправитель: Maverick
Отвечает DiGiT[old]
Приветствую Вас, Олег!
Без Б. Только не программку а функцию.
Во- первых случайные числа распределены по какому либо закону. надо было указать какой тебе нужно. но в принципе тебе все равно необходимо равномерное распределение на отрезке [0, 1]. Первый способ(Придумали по- моему Ермаков, изобретатель метода Монте-Карло) заключается в том что ты строишь последовательность типа x(n)={M*x(n-1)} {}- дробная часть. M_M это оптимальные числа выведенные мною :)
А второй забугорный способ линейная конгруэнтная последовательность типа x(n)= (a*(n-1)+b) mod m; или нелинейная короче это есть в кнуте. Я оптимальные параметры a, b, m не помню...
Приложение:
Ответ отправлен: 25.02.2003, 04:45
Отправитель: DiGiT[old]
Отвечает Andrew Vext
Доброе время суток, Олег!
Самый часто применяемый тип алгоритмов генерации псевдослучайных последовательностей - линейные конгруэнтные генераторы, описываемые общим рекуррентным соотношением:
I(j+1) = (aI(j) + с) MOD m
При правильно выбранных числах а и с эта последовательность возвращает все числа от нуля до m-1 псевдослучайным образом и ее периодичность сказывается только на последовательностях порядка m.
Приложение:
Ответ отправлен: 26.02.2003, 17:19
Отправитель: Andrew Vext
Вопрос № 2643 |
Сорри за оффтоп, но куда пропал Артем Шегеда ?
Вопрос отправлен: 24.02.2003, 00:24
Отправитель: Jenson
[Следующий вопрос >>] [Список вопросов]
Отвечает Eugene
Приветствую Вас, Jenson!
Отпуск наверно у него. Дайте человеку отдохнуть.
Ответ отправлен: 24.02.2003, 11:11
Отправитель: Eugene
Отвечает Maverick
Доброе время суток, Jenson!
Наверное времени нет, на вопросы отвечать.
Большинство экспертов не знают друг друга.
Ответ отправлен: 24.02.2003, 15:02
Отправитель: Maverick
Вопрос № 2644 |
Отвечает Broken Sword
Доброе время суток, m0v8lack!
1. Набери EXP ExitProc. Что ты видишь?
2. :) не во всех прогах говоришь? а распаковывать пробовал перед дизассемблированием? (здесь я под распаковкой понимаю есесно не извлечение из zip-архива, а внутреннюю распаковку проги, это на всяк. случай).
На счет 2 вопроса.
Я не понял что вы имете в виду.
Немогли бы вы попотробнее объяснить на каком либо примере.
Заранее благодарен.
Вопрос отправлен: 24.02.2003, 04:45
Отправитель: m0v8lack
[Следующий вопрос >>] [Список вопросов]
Отвечает Broken Sword
Доброе время суток, m0v8lack!
ASPack, ASprotect, Armadillo, PETite, ... UPX в конце концов. Неужели ни одно из этих названий ни о чем не говорит?
Поясню. Все это - паковщики PE-файлов (существуют паковщики и для COM-файлов), ничего обещего с "упаковкой" в обычном понимании (архивация) не имеют (хотя и могут содержать некоторое уменьшение длины). Вообщем, суть в том, что при запуске файл "распаковывает" (или правильнее будет - расшифровывает) себя в памяти. Простейший случай - XOR (т.е. при запуске управление передается на процедуру-распаковщик, которая ксорит каждый байт кода с каким-л символом в реузльтате получается оригинальный код, которому передается управление. Естественно, если прога запакована (т.е. зашифрована) и ты пытаешься ее смотреть в дизассемблере то ничего кроме бреда ты не увидишь (в WDASM-е это нули, в HIEW-чушь).
Ответ отправлен: 24.02.2003, 16:44
Отправитель: Broken Sword
Вопрос № 2645 |
Когда-то проскакивала информация, что у кого-то из экспертов есть исходники 6-го доса. Не мог бы он послать мне на мыло или подсказать ссылку в инете, откуда можно скачать?
Заранее спасибо.
Вопрос отправлен: 24.02.2003, 12:31
Отправитель: Eugene (kraker@inbox.lv)
[Следующий вопрос >>] [Список вопросов]
Отвечает Igoryk
Приветствую Вас, Eugene!
Это я говорил. Но посылать 13 мегабайт информации... Ты скаи что конкретно нужно, я пришлю.
Ответ отправлен: 24.02.2003, 15:52
Отправитель: Igoryk
Отвечает baldr
Доброе время суток, Eugene!
У меня есть. См сайт http://www.dospage.by.ru.
Только учти, что там архив 20 томов по 900Kb!
Ответ отправлен: 24.02.2003, 22:01
Отправитель: baldr
Вопрос № 2646 |
Привет, уважаемые эксперты!
Столкнулся вот с чем:
не получается делать подмену клавиш
в обработчике int 09h.
С обработчиком всё ok,
сам алгоритм замены мучает 2 день -
ничего не получается, хоть тресни... :(((
Как я знаю, есть в области данных bios
"место для клавы":
kb_buffer_head dw ? ;0040:001Ah
kb_buffer_tail dw ? ;0040:001Ch
kb_buffer dw 16 dup (?) ;0040:001Eh
kb_buffer_end label word ;0040:003Eh
Заполняется ли 16 word скан-кодом клавиши или там как у Жордена:
"Чтобы разрешить ввод 15 символов требуется 16-я пустая
позиция, 2 байта которой всегда содержат код возврата каретки
(ASCII 13) и скан-код клавиши
Помогите с алгоритмом замены,
типа нажал A, а на экран Z лепиться и всё такое.
З.Ы.
Я помню кто-то из вас кидал давно исходник
такого типа для Turbo Pascal-а, изначально созданный
для увеселения. (Или Bob Johnson, или Broken Sword).
Можно и мне его на мыло?..
Вопрос отправлен: 24.02.2003, 19:11
Отправитель: Max
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Здравствуйте, Max!
Непонятно, какие у тебя проблемы. В обработчике 9-го прерывания запоминаешь указатель на хвост очереди (0000:041ch), вызываешь старый обработчик, считываешь занесенный символ из хвоста, перекодируешь его и заносишь снова. Для перекодировки лучше всего завести 2 таблицы - одна для скен-кода, вторая - для ASCII.
Ответ отправлен: 25.02.2003, 13:05
Отправитель: Ayl
Отвечает Joy
Добрый день, Max!
Еще раз почитай Журдена, только внимательней. У него эта тема описана очень хорошо.
А алгоритм примерно такой. Перехватывешь прерывание, смотриш какой пришел символ, меняешь его, передаешь управление стандартному обработчику.
И еще раз читаешь Журдена. Медитируешь. И опять Журдена...
Ответ отправлен: 25.02.2003, 08:33
Отправитель: Joy
Отвечает Maverick
Приветствую Вас, Max!
Можно же проще сделать(в обработчике):
...........
in al,60h
cmp al,?? ;Код нужной клавиши
jnz exit
mov ah,05h
mov cx,?? ;На что заменить
int 16h
mov al,20h
out 20h,al
............
В приложении описание нек-ых функций.
Приложение:
Ответ отправлен: 25.02.2003, 04:56
Отправитель: Maverick
Отвечает Bob Johnson
Доброе время суток, Max!
> Можно и мне его на мыло?..
Да у нас все можно... Только адрес ты не указал... Вот это неправильно.
Кажется я что-то такое кидал. Только я использовал там совсем не 9 прерывание, а 16 - оно возвращает код нажатой клавиши приложению.
Приложение:
Ответ отправлен: 26.02.2003, 15:35
Отправитель: Bob Johnson
Вопрос № 2647 |
кто-нить может подсказать ссылочку на доки по программырованию под
Вындовз и/или написание под него вирей. их исходники покатят тоже
если не ОЧЕНЬ большой размер буду ЧРЕЗВЫЧАЙНО благодарен если скинете
на vladimir@zt.ukrpack.net (можно на английском)
Вопрос отправлен: 24.02.2003, 23:01
Отправитель: Вовыч
[Следующий вопрос >>] [Список вопросов]
Отвечает Топор
Приветствую Вас, Вовыч!
На развале сидюк купи. Дешевле выйдет, чем в Нете-то сидеть.
Ответ отправлен: 26.02.2003, 11:48
Отправитель: Топор
Отвечает Joy
Приветствую Вас, Вовыч!
На www.wasm.ru найдешь много интересного...
Ответ отправлен: 25.02.2003, 07:25
Отправитель: Joy
Отвечает Maverick
Приветствую Вас, Вовыч!
На www.wasm.ru есть неск-ко статей, да и в инете этой инфы хватает.
Ответ отправлен: 25.02.2003, 04:55
Отправитель: Maverick
Отвечает Bob Johnson
Добрый день, Вовыч!
Некоторая документация по программированию под Windows есть на моей странице.
bobjohnson.nm.ru
Ответ отправлен: 26.02.2003, 15:35
Отправитель: Bob Johnson
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (33) C / C++ (27) Perl (5) Delphi (16) Pascal (20) Basic / VBA (10) Java / JavaScript (7) PHP (5) MySQL / MSSQL (4) |
Пользователю Windows 95/98/Me (33) Windows NT/2000/XP (25) "Железо" (28) Поиск информации (14) |
Администратору Windows NT/2000/XP (12) Linux / Unix (11) |
Юристу Гражданское право (7) Семейное право (4) Трудовое право (4) КоАП (4) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||