Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 494
от 27.02.2003, 09:10
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 2660 Отправлено ответов: 7990 Активность: 300.3 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Broken Sword Статус: Профессиональный Общий рейтинг: 125.85 URL: моя рассылка по Protected Mode [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 144.97 [Подробней >>] |
Maverick Статус: Профессиональный Общий рейтинг: 138.91 URL: Задачи по ассемблеру Телефон: 89039415024 (BeeLine GSM) [Подробней >>] |
Igoryk Статус: Профессиональный Общий рейтинг: 136.32 URL: IgorykSoft [Подробней >>] |
ASMодей Статус: Профессиональный Общий рейтинг: 117.22 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 118.55 [Подробней >>] |
Илья Статус: Доверительный Общий рейтинг: 108.84 [Подробней >>] |
Joy Статус: Доверительный Общий рейтинг: 125 [Подробней >>] |
Александр Статус: Начальный Общий рейтинг: 106.25 [Подробней >>] |
Portnov Статус: Профессиональный Общий рейтинг: 113.39 URL: Мой сайтик... [Подробней >>] |
baldr Статус: Профессиональный Общий рейтинг: 113.9 URL: Сайт об ОС DOS. Всем, кто любит эту ОС! [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 150.85 URL: Программирование [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 2629. Уважаемые эксперты,не подскажете ли мне шде можно найти информацию по написанию sys драйверов под NT... (ответов: 2)
Вопрос № 2630. Ситуация следующая: прога в формате MZ, используя DMPI менеджер перехожу в защищенный режим. Под Вын... (ответов: 2)
Вопрос № 2631. Здравсвуйте, уважаемые эксперты. Как это ни банально, у меня к Вам вопрос. Что есть кодовая страница... (ответов: 6)
Вопрос № 2632. Здравствуйте уважаемые эксперты!!! В 2000 винде под тасм 5.0 можно рабо... (ответов: 2)
Вопрос № 2633. Здравствуйте товарищи эксперты! Тут такая проблема. Прога лажовая,на Delphi - тест на решение графов... (ответов: 1)
Вопрос № 2634. Доброго времени суток! Объясните, пожалуйста, что может значить такое: "моделирование визуализа... (ответов: 2)
Вопрос № 2635. Расскажите, пожалуйста о защищённом режиме. В чём отличие DPMI от XMS, и что они дают. Если у кого е... (ответов: 3)
Вопрос № 2637. Доброе время суток экспертам! Вопрос по использовании asm & Delphi, 1. Можно ли использовать в ассем... (ответов: 4)
Вопрос № 2638. Здравствуйте Эксперты!!! 1.Вопрос по SoftIce Почему когда я ставлю bpx ExitProcess(или другую функц... (ответов: 4)
Вопросов: 9, ответов: 26
Вопрос № 2629 |
Уважаемые эксперты,не подскажете ли мне шде можно найти информацию по написанию sys драйверов под NT-системы на асм? Дайте толковую ссылку если кто знает.
Спасибо.
Вопрос отправлен: 21.02.2003, 13:19
Отправитель: Ingrem
[Следующий вопрос >>] [Список вопросов]
Отвечает Broken Sword
Приветствую Вас, Ingrem!
www.wasm.ru -> статьи -> секреты Win32 -> Драйверы режима ядра Windows 2000 (5 частей)
Ответ отправлен: 21.02.2003, 13:51
Отправитель: Broken Sword
Отвечает masquer
Здравствуйте, Ingrem!
То, что BrokenSword написал - правильно, но перед этим лучше DDK раздобыть и с основами разобраться, примеры посмотреть (на Си++, правда).
Ответ отправлен: 21.02.2003, 14:27
Отправитель: masquer
Вопрос № 2630 |
Ситуация следующая:
прога в формате MZ, используя DMPI менеджер перехожу в защищенный режим. Под ВыньХР TD при вызове процедуры перехода вылетает. Подскажите какой отладчик использовать. Если есть возможность киньте на мыло.
Заранее благодарю.
Приложение:
Вопрос отправлен: 21.02.2003, 17:43
Отправитель: Liss (slipatov@yandex.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Maverick
Доброе время суток, Liss!
А SoftIce чем не нравится?
Вот сдесь есть много отладчиков: www.exetools.com
Ответ отправлен: 22.02.2003, 14:45
Отправитель: Maverick
Отвечает Igoryk
Добрый день, Liss!
TD здесь явно не подойдет. Обычно программы такого плана отлаживают под SoftIce.
Ответ отправлен: 22.02.2003, 14:53
Отправитель: Igoryk
Вопрос № 2631 |
Здравсвуйте, уважаемые эксперты. Как это ни банально, у меня к Вам вопрос. Что есть кодовая страница? По каким адресам она расположена?
Объясню, чем вызван вопрос. У меня есть бо-о-ольшая Fox Pro’шная база данных, которая работает из под Dos’а. Я хочу сделать ее с помощью Delphi из под Windows’а. Но мне надо её перекодировать с 866 кодовой страницы на 1251. Вот хочу на Асме написать процедуру, которая бы этим занималась. Что – то типа: берём первый символ, идём на 1251 страницу, ну и перекодируем :). Так вот, буду рад если кто-нибудь просветит меня в этом вопросе. С уважением. Алексей.
Вопрос отправлен: 21.02.2003, 19:32
Отправитель: Алексей (Dundin999@rambler.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает ASMодей
Приветствую Вас, Алексей!
Тебе что больше делать нечего, как перекодировать базы данных, или
это хобби? ;)
Настрой в ALIAS'е LANGDRIVER на 866 кодовую страницу и спокойно работай
с базой. Ну а если так уж хочется перекодировать, то с дельфи поставляется
программка, которая называется вроде DUMPDUB, так вот она как раз для
перекодирования и сделана.
А что касается кодовой страницы, то она нигде в памяти не расположена.
Кодовая страница - это что-то вроде стандарта или соглашения, которое
определяет как отображать символы c кодами от 128 до 255.
Ответ отправлен: 21.02.2003, 20:44
Отправитель: ASMодей
Отвечает Ayl
Приветствую Вас, Алексей!
Ничего вручную тебе перекодировать не нужно. Для доступа к базе ты будешь настраивать LANGDRIVER. Так вот, в нем ты и укажешь, что база-то у тебя, оказывается, хранится в DOS'овской кодировке. В результате при обращении к базе в фоновом для тебя режиме будут осуществлятся преобразования из DOS-866 в WIN-1251 при чтении данных из базы и из WIN-1251 в DOS-866 при записи в базу.
Ответ отправлен: 25.02.2003, 12:14
Отправитель: Ayl
Отвечает Илья
Доброе время суток, Алексей!
Ответ отправлен: 22.02.2003, 01:45
Отправитель: Илья
Отвечает Joy
Доброе время суток, Алексей!
На мой взгляд ты просто страдаешь ерундой. Если ты пишешь под Выньды на Делфи, то при работе с базами данных (не помню как компонент называется) можно выставить кодировку символов. А если все таки хочешь перекодироваться, то поищи в Инете таблицы перекодировок. Но тогда ты еще должен знать и учитывать структуру файла, который ты хочешь перекодировать (чтобы лишнего не перекодировать).
Ответ отправлен: 22.02.2003, 07:23
Отправитель: Joy
Отвечает Александр
Доброе время суток, Алексей!
Во-первых, кодовая таблица это набор номеров присваиваемый символам национальных алфавитов. Причём некоторые злосчастные алфавиты, такие как кириллица имеют несколько таких кодовых таблиц. Во-вторых, если ты знаешь какой номер у одного и того же символа в 2-х разных кодовых таблицах, то произвести перекодировку можно на любом языке программирования без всяких проблем. В-третьих, тебе даже не надо так мучаться, потому что в Windows в свойствах ODBC можно просто задать так, что по умолчанию DBF-файлы будут открываться в 866 кодовой странице. Вот так.
Ответ отправлен: 22.02.2003, 09:54
Отправитель: Александр
Отвечает Igoryk
Здравствуйте, Алексей!
Кодовая страница - это страница символов, которые употребляются в данной стране. Она не расположена ни на каком адресе. Правда в BIOS есть пространство, отведенное под "написание" символов на экране в текстовом реиме монитора - явно не то, что тебе нужно.
Вобщем твоя задача составить таблицу символов для кодовой страницы 1251 и 866. И обращаясь к символу в таблице 866 получишь символ в 1251. - Это если ты под ассемблер программируешь, но а если ты программируешь под Delphi, то используй функцию OemToChar для перекодировки из 866 в 1251, и CharToOem для перекодировки 1251 в 866.
Ответ отправлен: 22.02.2003, 14:53
Отправитель: Igoryk
Вопрос № 2632 |
Здравствуйте уважаемые эксперты!!!
В 2000 винде под тасм 5.0 можно работать только с плоской моделью или есть еще какие-нибудь варианты?
Вопрос отправлен: 21.02.2003, 22:51
Отправитель: док
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Здравствуйте, док!
А по-моему, других вариантов и нет
Ответ отправлен: 22.02.2003, 13:40
Отправитель: masquer
Отвечает Igoryk
Добрый день, док!
Под TASM можно работать с любой моделью памяти. Вопрос только в том под какую ОС ты собираешься программировать. Если под Win, то только FLAT, если под DOS (Сеанс MS-DOS), то любую.
Ответ отправлен: 22.02.2003, 14:53
Отправитель: Igoryk
Вопрос № 2633 |
Здравствуйте товарищи эксперты!
Тут такая проблема. Прога лажовая,на Delphi - тест на решение графов. Взломать
нет проблем (да мне это и не надо),при просмотре кода проги я наткнулся на
строчки
* Possible String Reference to: 'Do you wanna cheat?'
* Possible String Reference to: 'GOD MODE ON :)'
Как я понял по коду, разработчик сделал фишку обхода теста.
И активируется при кликаньи по этой бороде.
object StatBar: TStatusBar
OnClick = EnableCheat
OnDblClick = VisibleCheat
end
Но вот дальше что бы эта фишка заработала прогу надо запустить с параметром или
нажать какие-то клавиши, я понятия не имею.
Вот как это сделать меня и интересует. Если кто-то может помочь я вышлю прогу на
мыло 200kb. Не думайте, что я один из ленивых студентов. Это просто для общего
развития. Мне больше не к кому обратится. Заранее спасибо.
Вопрос отправлен: 22.02.2003, 01:06
Отправитель: mudvayne
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Доброе время суток, mudvayne!
Ну так там же написано, кликаешь раз - Enable, на двойной щелчок - Visible
Ответ отправлен: 24.02.2003, 12:48
Отправитель: masquer
Вопрос № 2634 |
Доброго времени суток!
Объясните, пожалуйста, что может значить такое: "моделирование визуализации
видимых регистров процессора 80486 в защищенном режиме(+эмуляция многозадачного режима
функционирования ЭВМ при решении 5 задач)". это что-то вроде отладчика: выполняется команда -
сомтришь на состояние регистров ??
P.S. я не прошу мне ничего решить, просто того, кто дал это задание, возможности
побеспокоить, к сожалению, нету.
Вопрос отправлен: 22.02.2003, 01:56
Отправитель: bik
[Следующий вопрос >>] [Список вопросов]
Отвечает Александр
Здравствуйте, bik!
Я бы прочитал это так: "Вывод на экран регистров процессора в защищённом режиме и реализация диспетчера для переключения между 5-ью задачами". Данный вопрос очень хорошо рассмотрен в книге П.И. Рудаков, К.Г. Финогенов "Программируем на языке ассемблера IBM PC". Было несколько разных изданий этой книги. Последнее вышло в издательстве "Диалог-МИФИ" в 2001 году и называлось "Язык ассемблера: уроки программирования".
Ответ отправлен: 22.02.2003, 10:11
Отправитель: Александр
Отвечает Portnov
Доброе время суток, bik!
Похоже на то... Правда, может, имелось ввиду, что не реальные программы отлаживать, а "модели"... Т.е., напр., в каких-то псевдокодах, ("прога" - массив структур типа
struct CODE {
char instr_num;
int first_arg;
int second_arg;} )
Вообще, в любом случае довольно сложное задание...
Ответ отправлен: 22.02.2003, 22:26
Отправитель: Portnov
Вопрос № 2635 |
Расскажите, пожалуйста о защищённом режиме. В чём отличие DPMI от XMS, и что они дают. Если у кого есть доки, то шлите на мыло или даёте ссылку.
Обязательно ли выходить из защищённого режима так:
mov ax, 4c00h
int 21h
Вопрос отправлен: 22.02.2003, 07:50
Отправитель: Xych (huch@ezmail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Александр
Здравствуйте, Xych!
Ну ты и вопрос задал!!! DPMI - это API для облегчения программирования в ЗАЩИЩЁННОМ режиме в среде DOS. XMS - eXpanded Memory Specification - API для доступа к памяти свыше 1МБ в РЕАЛЬНОМ режиме.
mov ax, 4c00h
int 21h
Это есть выход из программы в DOS в РЕАЛЬНОМ режиме. Для выхода из ЗАЩИЩЁННОГО без доработки напильником эта конструкция не годится, поскольку любая команда int будет вызывать исключение ЗАЩИЩЁННОГО режима. Поэтому для выхода из программы из ЗАЩИЩЁННОГО режима надо либо первоначально перейти в РЕАЛЬНЫЙ режим и там вызвать это прерывание, либо написать нормальный обработчик исключений для ЗАЩИЩЁННОГО режима.
Ответ отправлен: 22.02.2003, 10:20
Отправитель: Александр
Отвечает Maverick
Здравствуйте, Xych!
Почитай у Зубкова, там вкратце рассмотрено.
Пересказывать не буду. Посмотреть можно здесь:
http://netlib.wallst.ru/
Ответ отправлен: 22.02.2003, 14:45
Отправитель: Maverick
Отвечает Igoryk
Добрый день, Xych!
Доки посмотри на sasm.narod.ru. А выход осуществляется именно так. Если ты конечно под DOS работаешь, а не собственную ОС делаешь. Почему именно так, а не ret или int 20h? Потому, что эти команды могут выходить только из текущего сегмента, а ты завершаешь многосегментную программу.
Ответ отправлен: 22.02.2003, 14:53
Отправитель: Igoryk
Вопрос № 2637 |
Доброе время суток экспертам!
Вопрос по использовании asm & Delphi,
1. Можно ли использовать в ассемблерных вставках
winApi функции.(хоть и через Ж..пу пользоваться В Делфи через асм winApi но все же.....! хотелось бы узнать)
2. Надо ли для использования WinApi подключать библиотеки,
если да то подойдут ли библиотеки из masm32 или же Delphi
и так поймет такие инструкции
invoke LoadCursor,NULL,IDC_ARROW
mov wc.hCursor,eax
invoke RegisterClassEx, addr wc
Если у кого есть литература по использованию
асм и Delphi скиньте плз.на sbtr@mail.ru желательно на русском.
или ссылочку на подобный материал.
Вопрос отправлен: 22.02.2003, 16:04
Отправитель: Andrey
[Следующий вопрос >>] [Список вопросов]
Отвечает Joy
Здравствуйте, Andrey!
Наверное этот вопрос надо было адресовать экспертам по Delphi.
1. На сколько я помню, чтобы в Делфях использовать функции API не нужен никакой ассемблер.
2. У Делфи свои не плохие библиотеки.
Вот тебе очень полезная ссылочка по Делфи http://delphi.mastak.ru/
Ответ отправлен: 25.02.2003, 08:39
Отправитель: Joy
Отвечает Portnov
Добрый день, Andrey!
1. Да.
2. Библиотек не надо, надо тольо подключить юниту Windows. Но invoke Delphi не поймет. Вместо invoke RegisterClassEx, param надо использовать push param // call RegisterClassEx.
С уважением, Portnov.
Ответ отправлен: 22.02.2003, 22:33
Отправитель: Portnov
Отвечает baldr
Здравствуйте, Andrey!
1. Нужно! Только эти системные функции и можно вызывать! Прерывания в Win32 вызывать
запрещено, так что только API-функции и дадут тебе все необходимое.
2. IMHO, inc-файлы от masm не подойдут, потому что у Borland свой формат встроенного
ассемблера, и, надо сказать, сильно урезанный. Макросы он, кажется ,не понимает, а та же
invoke - не что иное как макрос! И вызывать API тебе придется только с помощью CALL,
причем предварительно как-то узнав адрес этих функций. :( Лучший выход - написать на асме
свою dll, которую и вызывать из Delphi.
Ответ отправлен: 23.02.2003, 00:26
Отправитель: baldr
Отвечает Bob Johnson
Доброе время суток, Andrey!
В Delphi асм иногда просто необходим, например, когда нужно какой-либо функции (именно API) передать указатель на какую-либо структуру, а Delphi при этом утверждает, что это несоответствие типов.
Асм использовать очень просто:
asm
push IDC_ARROW
push 0
call LoadCursor
...
end
Библиотеки (.lib) Delphi принципиально не нужны. Там можно описать любую функцию как external и все будет ОК (delphi при этом будет статически связывать твою программу с нужной библиотекой). См help - там это очень просто.
Ответ отправлен: 26.02.2003, 15:35
Отправитель: Bob Johnson
Вопрос № 2638 |
Здравствуйте Эксперты!!!
1.Вопрос по SoftIce
Почему когда я ставлю bpx ExitProcess(или другую функцию API)
он мне выдает Simbol not defined (EXITPROCESS).
Как с этим бороться?
На MessageBox и некоторые другие он реагирует нормально.
2.Посоветуйте уневирсальный дизассемблер под win32 чтобы он при дизассемблировке показывал имя WinApi
или хотя бы список используемых в программе API.Я использовал Win32Dasm, но он не для всех программ показывает
Import и Export.Тоже самое и Быстром просмотре.
Заранее спасибо.
p.s Огромный привет эксперту Joy.
Вопрос отправлен: 23.02.2003, 09:08
Отправитель: m0v8lack
[Следующий вопрос >>] [Список вопросов]
Отвечает Broken Sword
Доброе время суток, m0v8lack!
1. Набери EXP ExitProc. Что ты видишь?
2. :) не во всех прогах говоришь? а распаковывать пробовал перед дизассемблированием? (здесь я под распаковкой понимаю есесно не извлечение из zip-архива, а внутреннюю распаковку проги, это на всяк. случай).
Ответ отправлен: 23.02.2003, 11:51
Отправитель: Broken Sword
Отвечает Maverick
Здравствуйте, m0v8lack!
IDA, классный дизассемблер.
В инете он валяется.
Ответ отправлен: 23.02.2003, 13:56
Отправитель: Maverick
Отвечает Joy
Здравствуйте, m0v8lack!
2. Чем тебе не нравиться IDA? У меня стоит версия 4.1.5.520 и вроде все, что надо показывает, как под ДОС, так и под Выньду.
m>p.s Огромный привет эксперту Joy.
А чем это я провинился? :)
Ответ отправлен: 24.02.2003, 07:46
Отправитель: Joy
Отвечает masquer
Приветствую Вас, m0v8lack!
1. А некоторые функции должны иметь A или W в конце, ну, или символы добавить нужно для библиотеки.
2. IDA
Ответ отправлен: 24.02.2003, 12:52
Отправитель: masquer
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (32) C / C++ (25) Perl (3) Delphi (17) Pascal (21) Basic / VBA (11) Java / JavaScript (8) PHP (5) MySQL / MSSQL (4) |
Пользователю Windows 95/98/Me (33) Windows NT/2000/XP (25) "Железо" (28) Поиск информации (15) |
Администратору Windows NT/2000/XP (12) Linux / Unix (11) |
Юристу Гражданское право (7) Семейное право (4) Трудовое право (4) КоАП (4) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||