Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 292
от 17.06.2002, 00:10
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 460 Отправлено ответов: 1218 Активность: 264.7 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
vitya Статус: Опытный Общий рейтинг: 116.44 [Подробней >>] |
kvINT Статус: Доверительный Общий рейтинг: 114.97 [Подробней >>] |
Евгений Статус: Опытный Общий рейтинг: 113.2 [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 160.83 [Подробней >>] |
Артём Шегеда Статус: Профессиональный Общий рейтинг: 128.84 URL: Пристанище неодинокого программиста [Подробней >>] |
Alex Статус: Доверительный Общий рейтинг: 110.39 [Подробней >>] |
igorash Статус: Опытный Общий рейтинг: 130.65 [Подробней >>] |
freeseacher Статус: Опытный Общий рейтинг: 114.94 Телефон: 8(3832)366362 [Подробней >>] |
Sensey Статус: Профессиональный Общий рейтинг: 147.71 Телефон: +38 (0572) 41-76-04 дом. [Подробней >>] |
Александр Статус: Опытный Общий рейтинг: 117.34 [Подробней >>] |
Beeblebrox Статус: Опытный Общий рейтинг: 127.63 URL: Beeblebrox / TMA HomePage [Подробней >>] |
Федос Статус: Начальный Общий рейтинг: 112.28 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 150 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 134.71 [Подробней >>] |
Blackeye Статус: Профессиональный Общий рейтинг: 120.69 URL: Delphi, my programms... [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 408. Здравствуйте! Готовлюсь к экзаменупо Ассемблеру. Вопрос таков: "Битовые маски". У Зубкова ... (ответов: 5)
Вопрос № 409. Привет masquer! Спасибо за ответ, но мы - просто ловили этот менеджер и закрывали его - это тоже не... (ответов: 1)
Вопрос № 410. Здрасьте, эксперты. Похоже, мой вопрос затерялся на краю интернета, поэтому высылаю дополненную ве... (ответов: 1)
Вопрос № 411. Привет! Я уже не помню задавал я этот вопрос здесь, или нет, но мне на него точно никто не ответил ,... (ответов: 1)
Вопрос № 412. Уважаемые эксперты! Я получил задание в институте написать антивирусный монитор на ассемблере. Пишу ... (ответов: 2)
Вопрос № 415. Скажите пожалуста как это сделать: Например я ввожу: mov eax,00 и получаю сообщение от проги B8 00 0... (ответов: 7)
Вопрос № 416. Здравствуйте , ув. эксперты . Хотелось бы поблагодарить за все ответы на вопрос под номером 312. Ос... (ответов: 1)
Вопрос № 417. Здравствуйте, эксперты! Я пишу программу для управления нестандартным устройством, которое "вис... (ответов: 2)
Вопрос № 418. Всем кто желает протестировать моё творение просьба обратиться на мой e-mail Miloslawsky@ua.fm О тво... (ответов: 1)
Вопрос № 419. Доброго дня , уважаемые эксперты . Сразу хочу отметить , что мой вопрос не по программированию. Про... (ответов: 2)
Вопрос № 420. Приветствую всех! Народ, срочно надо прояснить такой вопрос... Команда CPUID при eax=1 на входе, в... (ответов: 3)
Вопросов: 11, ответов: 26
Вопрос № 408 |
Здравствуйте!
Готовлюсь к экзаменупо Ассемблеру. Вопрос таков: "Битовые маски". У Зубкова не нашел. Вышлите, пожалуйста, книгу, где такое есть или напишите пару строк, что это такое.
Вопрос отправлен: 11.06.2002, 08:43
Отправитель: Андрей (afanasenko@tut.by)
[Следующий вопрос >>] [Список вопросов]
Отвечает vitya
Доброе время суток, Андрей!
Если у тебя есть какое либно значение, например в регистре, и тебе хочется выбрать какой-либо бит, например 4, тогда тебе нужно применить битовую маску.
and ax, 16 ; тут изменится регистр ax
test ax, 16 ;а тут его значение не изменится
jnz q: ;если в 4 бит был равен 1 то q.
Маски могут быть любым словом. Можно использовать маски ИЛИ
если ты хочешь поставить какой либо бит, или XOR если инвертировать бит. В общем суть ясна.
Ответ отправлен: 11.06.2002, 09:01
Отправитель: vitya
Отвечает kvINT
Добрый день, Андрей!
Битовые маски применяются для установки определенных битов в определенное состояние.
Для установки в 1 применяется команда or.
Пр.: or al,1b
1b = 00000001 - маска. 0-й бит в al установится в 1, остальные не изменятся.
Для установки в 0 применяется команда and.ъ
Пр.: and al,10111111b
Второй операнд - маска. 6-й бит в al установится в 0.
С масками работают также команды xor и test.
Ответ отправлен: 11.06.2002, 15:25
Отправитель: kvINT
Отвечает Евгений
Привет! Возможно с придумыванием академических определений у меня туговато, но смысл таков:
Битовая маска - это правый операнд логической инструкции
например : OR EAX,EBX - здесь EAX - это операнд который "маскируется" а EBX - это битовая маска.
Короче - это кучка битов, которая "накладывается" на операнд и мы получаем некоторый результат...
Ответ отправлен: 11.06.2002, 23:39
Отправитель: Евгений
Отвечает masquer
Доброе время суток, Андрей!
Судя по всему речь идет об and or xor. Смотри описание этих команд. Например
and al, 0fh - обнуляет верхние 4 бита
Ответ отправлен: 11.06.2002, 10:15
Отправитель: masquer
Отвечает Артём Шегеда
Добрый день, Андрей!
Высылаю на твой e-mail фрагмент документации Borland TASM, где расписаны возможности по обработке флагов и битовых полей. Работа с ними требует знания битовых масок. Но, изучая первое, поймёшь второе (я надеюсь)...
Вся дока - на моём сайте.
Ответ отправлен: 11.06.2002, 10:03
Отправитель: Артём Шегеда
Вопрос № 409 |
Привет masquer!
Спасибо за ответ, но мы - просто ловили этот менеджер и закрывали его - это тоже не интересно согласен - а вот как скрыть этот процесс - так никто и не написал - а жаль:(
А кто такой Рихтер - где найти? - у меня есть "Art of programming of assmebler" 2 варианта под дос и вин32 и больше я считал мне ничего не надо- а тут опять читать:(
С наилучшими...
Вопрос отправлен: 11.06.2002, 09:01
Отправитель: re666_im7
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Добрый день, re666_im7!
Джеффри Рихтер, автор книги "Windows для професиионалов".
А процесс ты не скроешь, я же тебе написал
Ответ отправлен: 11.06.2002, 10:12
Отправитель: masquer
Вопрос № 410 |
Здрасьте, эксперты. Похоже, мой вопрос затерялся на краю интернета, поэтому высылаю дополненную версию моего вопроса.
1. Имеется нотебук... то есть он не имеется, а просто есть. Так вот, я на нём забираю почту The Bat'ом через мобилу. Потом прихожу домой и хочу посмотреть эту почту на настольном пк. Как мне синхронизировать базу писем? Варианты типа копирования папок туда-сюда не катят.
2. Стоял у меня как-то PGP 7.0.3 И было у меня пара дисков зашифрованных. Винт отформатировал, а все ключики пропали (хотя, вроде что-то осталось). Если я знаю пароль свой, то как мне открыть эти диски.
3. Кто подскажет где есть дрова под 3DFX Voodoo Rush. Желательно версии не ниже 3.0. На сайте не нашёл, да и так в инете они что-то не сильно валяются.
4. У меня винт Seagate ST340810A (серийный номер не нужен? ;) когда к нему не обращается система минут 5 начинает издавать звук, похожий на перемещение голов по блину. При этом индикатор не горит. Это только у меня такой глюк?
Вопрос отправлен: 11.06.2002, 09:49
Отправитель: Blast Off (blastoff@rambler.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Alex
Доброе время суток, Blast Off!
Зайди в настройку:
ЯЩИК - СВОЙСТВА ПОЧТОВОГО ЯЩИКА - УПРАВЛЕНИЕ ПОЧТОЙ, отметь "Оставлять письма на сервере", и, прийдя домой ещё раз выкачай почту. А вообще папки "туда-сюда" - самый оптимальный вариант...
Ответ отправлен: 12.06.2002, 07:47
Отправитель: Alex
Вопрос № 411 |
Привет!
Я уже не помню задавал я этот вопрос здесь, или нет, но мне на него точно никто не ответил , поэтому задам еще раз его! Хочу написать что нибудь похожее на программу типа client server, но к сожалению у меня нет никакой доки по этому делу, так что ежели вам дорогие эксперты не сильно влом кинуть в меня какой-нить ссылкой на эту тему буду вам безмерно благодарен! Да, кстати прогу хочу сделать сетевой (LAN), поэтому то и комплексую, зная о том что все придется делать через порты с коими я тожа к сожалению не имел счастья обсчаться!
Большой tnx ВСЕМ откликнувшимся!
Вопрос отправлен: 11.06.2002, 17:18
Отправитель: freeseacher (freeseacher@pisem.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает igorash
Доброе время суток, freeseacher!
Книгу тут недавно в магазине видел от издательства Питер - "эффективное программирование TCP/IP" - там и клиента и сервера каркасы есть, но на С++, если знаешь или думаешь что так разберешься, то можешь брать. Книга относительно недорогая.
Еще совет - мутишь все как бы через сеть, а клиент и сервер на одном компе работают через IP-адрес 127.0.0.1 - loopback.
Ответ отправлен: 13.06.2002, 19:25
Отправитель: igorash
Вопрос № 412 |
Уважаемые эксперты!
Я получил задание в институте написать антивирусный монитор на ассемблере.
Пишу VxD под вин9х. В качестве примера смотрю исходники cih. Общий алгоритм
функционирования такой: загружается драйвер, устанавливает хук файловой
системы и следит за процессом открытия существующих файлов. Когда открывается
файл, монитор должен сначала открыть его сам, посмотреть в нем наличие "вируса"
(т.е. в данной ситуации это просто наличие в каком-либо месте файла определенной
последовательности байт), затем, если вируса нет - позволить открыть его, в
противном случае - запретить доступ.
Теперь вопрос. Таким образом, моему хуку надо тоже пользоваться услугами
IFS, т.е. необходимо, чтобы когда ОН обращался к IFS с целью открыть файл
(через IFSMgr_Ring0_FileIO), попадая сам на себя, он не пытался проверить
этот файл повторно, чтобы таким образом не перейти в бесконечную рекурсию.
В cih для этой цели существует флажок, который вначале устанавливается в 1,
а при вызове хука он проверяет его, и если флаг установлен, то просто выполняет
запрошенную функцию. Является ли такой способ абсолютно правильным? Т.е. не
существует ли возможность, что после того, как флаг будет установлен, из другого
THREAD придет запрос на открытие файла, и хук его пропустит, или IFS не является
реентрантной вообще?
Из-за ограниченного времени в интернете, настоятельно прошу не давать ответ
в виде ссылок, также не надо направлять меня на чтение 98ddk, т.к. на такой
вопрос ответ там найти достаточно сложно.
Заранее благодарен, Дмитрий.
Вопрос отправлен: 11.06.2002, 22:34
Отправитель: Dmitriy (sd@newmail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений
Здравствуйте, Dmitriy!
В момент работы хука процессы замораживаются насколько я знаю. В крайнем случае можешь выполнить CLI вначале.
СodeBuilder, #ICQ 45249044
Ответ отправлен: 11.06.2002, 22:42
Отправитель: Евгений
Отвечает masquer
Доброе время суток, Dmitriy!
Если ты уже перехватил файловые операции, то через тебя никто не сможет проскочить, просто все будут смиренно ждать, пока твой обработчик не отпустит файл и не примется за следующий, иначе какой был бы смысл.
Ответ отправлен: 13.06.2002, 10:20
Отправитель: masquer
Вопрос № 415 |
Скажите пожалуста как это сделать:
Например я ввожу: mov eax,00 и получаю сообщение от проги B8 00 00 00 00 00
Спомощью какой функци это высчитываеться ?
Вопрос отправлен: 12.06.2002, 14:22
Отправитель: Chapaev
[Следующий вопрос >>] [Список вопросов]
Отвечает freeseacher
Добрый день, Chapaev!
Вопрос из разряда: "как сделать компилятор?" -- при помочи табличных преобразований!
Берешь строешь таблицу всех инструкций и к ней приделываешь таблицу значений!
но это самый простой способ!
Ответ отправлен: 12.06.2002, 18:53
Отправитель: freeseacher
Отвечает kvINT
Здравствуйте, Chapaev!
Ни фига не понял. Что такое B8 00?
Ответ отправлен: 13.06.2002, 21:28
Отправитель: kvINT
Отвечает Sensey
Здравствуйте, Chapaev!
Это дизассемблер
код инструкции mov eax, const равен B800
константа 00000000
Возьми какую-нить книгу по Асму, где даны кода комманд, и все поймешь :)
Ответ отправлен: 13.06.2002, 11:04
Отправитель: Sensey
Отвечает masquer
Доброе время суток, Chapaev!
Любезный, ты недостаточно повеселил публику на reversing.net, еще здесь начинаешь, посмотри там мой ответ
Ответ отправлен: 12.06.2002, 20:11
Отправитель: masquer
Отвечает Александр
Здравствуйте, Chapaev!
Гы-гы, я просто плачу. Эта функция наверное компилятором зовётся ;-) Для того, чтобы самому написать компилятор можешь скачать с сайта многоуважаемой Intel доку по их процессорам под названием IA-32 Architecture Reference Manual. За название на 100% не ручаюсь, но очень похоже... Там должно быть 3 PDF файла. Кажется про кодирование команд во втором томе написано.
Ответ отправлен: 15.06.2002, 14:33
Отправитель: Александр
Отвечает Beeblebrox
Здравствуйте, Chapaev!
Это результат ассемблирования команды mov eax,0 в модели памяти use32
То есть ответ на твой вопрос - с помощью ассемблера, а не какой-то функции
Ошибка - нулей не 5, а 4
Ответ отправлен: 12.06.2002, 14:40
Отправитель: Beeblebrox
Отвечает Федос
Добрый день, Chapaev!
Ты бы лучше кусок исходника кинул, где ты это используешь.
Ответ отправлен: 13.06.2002, 19:52
Отправитель: Федос
Вопрос № 416 |
Здравствуйте , ув. эксперты .
Хотелось бы поблагодарить за все ответы на вопрос под номером 312. Особенно большое спасибо Vint by Shz ,Igorach,
Digit и , конечно , AnSim за поправку .
Ещё раз всем спасибо и всего наилучшего .
Сергей
Вопрос отправлен: 12.06.2002, 20:25
Отправитель: сергей
[Следующий вопрос >>] [Список вопросов]
Отвечает Федос
Приветствую Вас, сергей!
Пожалуйста.
Ответ отправлен: 13.06.2002, 19:53
Отправитель: Федос
Вопрос № 417 |
Здравствуйте, эксперты!
Я пишу программу для управления нестандартным устройством, которое "висит" на LPT. При накоплении определенных данных устройство подает сигнал прерывания и программа должна принять данные ...
Почему, если во время поступления прерывания нажать на any key, то вылетит окошечко о недопустимой операции (ведь, я ж использую cli/sti)?
Пожалуйста, помогите, что я написал не так ...?
(P.S. Не ругайте за манеру написания программы, т.к. ассемблером я занимаюсь всего неделю)
Приложение:
Вопрос отправлен: 12.06.2002, 20:46
Отправитель: Konstantin Boyko (Donetsk)
[Следующий вопрос >>] [Список вопросов]
Отвечает Broken Sword
Доброе время суток, Konstantin Boyko (Donetsk)!
Хрен его знает, знаешь... Вообще в V86 такие дела не делаются, лучше от греха подальше в чистый RM. А еще вот так бросается в глаза - у тебя выход из проги по ret-у, это хорошо, но чето стек мне не нравится... очень возможно, что pop ax не успеет. Больше не знаю чем помочь (с LPT не работал, а проверить не могу, т.к. даже принтера нема)
p.s. для "недельного" асм-а весьма и весьма... :)
Ответ отправлен: 12.06.2002, 22:16
Отправитель: Broken Sword
Отвечает Ayl
Добрый день, Konstantin Boyko (Donetsk)!
У тебя реально так в программе:
OLD_SEG_IRQ dw
OLD_OFFSET_IRQ dw
или там все-таки знаки вопросов стоят?
Если нет, то тогда скорее всего именно в этом и дело - неправильно восстанавливается старый обработчик...
Ответ отправлен: 13.06.2002, 20:02
Отправитель: Ayl
Вопрос № 418 |
Всем кто желает протестировать моё творение просьба обратиться на мой e-mail Miloslawsky@ua.fm
О творении: EMS emulator BETA-версия
Вопрос отправлен: 12.06.2002, 21:10
Отправитель: Miloslawsky (Miloslawsky@ua.fm)
[Следующий вопрос >>] [Список вопросов]
Отвечает Александр
Приветствую Вас, Miloslawsky!
1) Принимается только в исходниках.
2) Если не в исходниках, то как докажешь, что не вирус?
3) А плюшки за выявленные глюки полагаются?
Ответ отправлен: 15.06.2002, 14:33
Отправитель: Александр
Вопрос № 419 |
Доброго дня , уважаемые эксперты .
Сразу хочу отметить , что мой вопрос не по программированию.
Просто я почти уверен , что только вы сможете мне дать на этот вопрос исчнрпывающий ответ .
Проблема в следующем . Имется win98 , материнка (GAß-7VTXE/
7VTXH , чипсет VIA KT266A MEMORY/AGP/PCI Controller .
Процессор-Duron 1 кГц .
Графика-Club 3D ATI RADEON 7500/64
При установки какой-либо игры ,например дальнобойщик , когда инсталяция доходит ,примерно до 40-50% ,прекращаются все действия и всплывает сообщение :
Ошибка 0Е по адресу 0028:С1528838 в драйвере VxD
MDFREADR(01)+00015278 . Вызов ( фдрес 0028:С1825730) произ-
ведён из драйвера CDFS(03)+000085C0. Возможно нормальное продолжение .
Но после нажатия клавишы пробел , появляется следующее :
Неустранённая ошибка OD по адресу 0028:С000С3В7 в VxD(01)+
0000B3B7.Приложение будет снято .
Я так понимаю , что драйвер не совсем соответствует , но все драйвера шли на дисках при покупке материнки и график карты ( я должен был сразу заметить , что я , выражаясь вашим язаком , решил апгрейд произвести ). Что вы мне можете посоветовать по этому вопросу ? Если проблема только в драйвере , то может быть имеет смысл где-то найти обнов-
ление , а если проблема в железе , то может имет смысл его заменить ( всё на гарантии )?
Прошу прощения за какие-либо неточности в моём вопросе и
спасибо если что-то сможете посоветовать .
Сергей
Вопрос отправлен: 12.06.2002, 23:32
Отправитель: Сергей
[Следующий вопрос >>] [Список вопросов]
Отвечает kvINT
Здравствуйте, Сергей!
95% - память.
Ответ отправлен: 13.06.2002, 21:28
Отправитель: kvINT
Отвечает masquer
Здравствуйте, Сергей!
Проблемы могут быть:
1. С памятью - тут протестировать надо
2. С мамой - тоже тестировать+новые драйвера для чипсета
3. С корпусом - должен быть 250-300 Вт
4. С драйвером видео - попробуй последний скачать
Ответ отправлен: 13.06.2002, 08:16
Отправитель: masquer
Вопрос № 420 |
Приветствую всех!
Народ, срочно надо прояснить такой вопрос...
Команда CPUID при eax=1 на входе, выдает в младшем байте какие-то модель и модификацию процессора.
Что это такое и как его расшифровывать? Только не тыкайте носом во все подряд - у меня эти книжки
от Интел, но в них такое просто упоминается. В Зубкове - и того меньше... :(
И еще - для Интел'овских процев я могу узнать почти все, а что особенного
можно узнать у процев от UMC, Cyrix, AMD, NexGen и Centaur ?
Большая просьба ответить поскорее, ибо мне надо сдавать скоро прогу. Ссылки, пожалуйста, не
надо - нет времени по ним бегать. :((
Спасибо всем.
Вопрос отправлен: 13.06.2002, 00:07
Отправитель: baldr (baldr@pisem.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Доброе время суток, baldr!
Я не знаю в какой из интеловских док ты смотрел, вот что я нашел. Sorry if too late.
Приложение:
Ответ отправлен: 13.06.2002, 08:12
Отправитель: masquer
Отвечает Blackeye
Приветствую Вас, baldr!
В edx будет например 681, далее разбери по битам и т.д Получиться что Family = 6,Model = 8, Stepping = 1. Какой это процессор ищи описание FMS на сайтах amd,via,intel. Там и все остальное можно найти
Ответ отправлен: 13.06.2002, 15:21
Отправитель: Blackeye
Отвечает Broken Sword
Приветствую Вас, baldr!
Смотри. В младшем байте действительно:
0-3 биты - Stepping
3-7 биты - Model
Вообщем, здесь расписывать не буду, но есть pdf-дока с диска Intel (3 диска нашару), называется Intel Processor
Identification and the CPUID Instruction (47 страниц), вот там вот в таблицах все подробно и расписано. На всякий случай - срочно высылаю тебе на мыло. Пожалуйста.
Ответ отправлен: 13.06.2002, 01:01
Отправитель: Broken Sword
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (53) C / C++ (31) Perl (10) Delphi (14) Pascal (26) Basic / VBA (15) Java / JavaScript (6) PHP (7) MySQL / MSSQL (7) |
Пользователю Windows 95/98/Me (48) Windows NT/2000/XP (33) "Железо" (39) Поиск информации (20) |
Администратору Windows NT/2000/XP (15) Linux / Unix (9) |
Юристу Гражданское право (11) Семейное право (5) Трудовое право (6) КоАП (3) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||