Не пойму, неужели я накосячил в таком куске кода? Код (Text): assume ebx:ptr DEBUG_EVENT mov [ebx].u.ExitProcess.dwExitCode, eax assume ebx:nothing
out_Lander > А диззасемблировать не пробовал? Что дизассемблировать если masm отказался ассемблировать %) У меня подозрение что Hutch со структурами накосячил, потому что например в 98DDK они выглядят несколько по другому.
А у меня схавал без проблем и ассемблируется в то что нужно. WINDOWS.INC for 32 bit MASM (Version 1.26e) Release 23 May 2003 Microsoft (R) Macro Assembler Version 6.15.8803 Patched for you by promethee [ECL] in the year 2001 - enjoy
Four-F > А у меня схавал без проблем и ассемблируется в то что нужно. А что мне то делать? %) У тебя какой масм, Hutch'евский?
У меня такой Код (Text): comment ® ¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤ WINDOWS.INC for 32 bit MASM (Version 1.26e) Release 23 May 2003 Project WINDOWS.INC at [url=http://www.masmforum.com ]www.masmforum.com [/url] WINDOWS.INC is copyright software licenced to the user by the MASM32 project. It is available completely free of any charges for any person to use for purposes including commercial software but the file must not be sold or included in any commercial programming package. This also includes publications that are for sale. WINDOWS.INC Copyright © The MASM32 Project 1998 - 2003 Short history. Original file 1998 hutch NT and later additions Iczelion Duplicate removal Jibz Bug fixes and additions User contributed hutch@movsd.com ¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤= ч=¤ ®
ЗЫ: у меня ml.exe от 2002 и 2003 студии, придётся видимо откатываться на стандартный что входит в поставку Hutch'а..
Four-F Сегодня видимо не мой день :-( , с ml.exe из пакета masm32_8.2 Hutch'а тоже ничего не получается, ... ну что за засада..
Вот зараза, оказывается строка Код (Text): mov [ebx].u.ExitProcess.dwExitCode, eax конфликтует с моими инклудами, в частности с этими строками Код (Text): externdef _imp__ExitProcess@4:PTR pr1 ExitProcess equ <_imp__ExitProcess@4> Мля, пока допёр в чём дело, меня конкретно задрало извилины напрягать >%)
Проблема описана, кто, какие пути решения предлагает?? Самое простое - вернуть стандартные инклуды хотя бы для этой функции или переименовать член структуры ExitProcess. Может есть более изящное решение, написание какого-нить макроса например?
Я с подобной фигней при написании Strings.mac столкнулся. Как я понял, у масма, похоже, глобальная таблица символов. Если у тя ExitProcess равен _imp__ExitProcess@4, то как только масм встретит ExitProcess, то тупо подставит _imp__ExitProcess@4. Видимо, кроме тех двух вариантов, которые ты уже сам знаешь ничего придумать нельзя. Если сорсы только для тебя, то переименовывай поле ExitProcess, если для пиплов, то придется юзать стандартные инклуды. ... есть такой вариант. Переделать в твоих инклудах только ExitProcess так: Код (Text): externdef _imp__Xxx@4:PTR pr1 Xxx equ <_imp__Xxx@4> ExitProcess proto :DWORD externdef _imp__Yyy@4:PTR pr1 Yyy equ <_imp__Yyy@4>
Four-F Понятно. В общем когда fasm научат понимать стандартные С-шные инклуды все перейдем на fasm, masm морально устарел