· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› Почему ругается masm?

Посл.отвђт Сообщенiе


Дата: Ноя 13, 2004 13:09:17 · Поправил: Asterix

Не пойму, неужели я накосячил в таком куске кода?
  assume ebx:ptr DEBUG_EVENT
  mov [ebx].u.ExitProcess.dwExitCode, eax
  assume ebx:nothing


Дата: Ноя 13, 2004 13:41:19

не мучайся, напиши mov [ebx+12],eax


Дата: Ноя 13, 2004 13:58:01

Так будет не информативно, да и нужно разобраться кто ошибается я или masm %)


Дата: Ноя 13, 2004 19:02:58

А диззасемблировать не пробовал? Посмотри что он (masm) там реально сделал


Дата: Ноя 13, 2004 19:56:24

out_Lander
cm. subj


Дата: Ноя 13, 2004 22:39:58

out_Lander
> А диззасемблировать не пробовал?

Что дизассемблировать если masm отказался ассемблировать %)

У меня подозрение что Hutch со структурами накосячил, потому что например в 98DDK они выглядят несколько по другому.


Дата: Ноя 13, 2004 23:08:49

А у меня схавал без проблем и ассемблируется в то что нужно.

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


Дата: Ноя 13, 2004 23:56:45

Four-F
> А у меня схавал без проблем и ассемблируется в то что нужно.

А что мне то делать? %)
У тебя какой масм, Hutch'евский?


Дата: Ноя 14, 2004 00:04:00

У меня такой
comment ® ¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤

      WINDOWS.INC for 32 bit MASM (Version 1.26e) Release 23 May 2003

      Project WINDOWS.INC at www.masmforum.com


      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

¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤= ч=¤ ®


Дата: Ноя 14, 2004 00:22:33 · Поправил: Asterix

ЗЫ: у меня ml.exe от 2002 и 2003 студии, придётся видимо откатываться на стандартный что входит в поставку Hutch'а..


Дата: Ноя 14, 2004 03:10:59

Four-F
Сегодня видимо не мой день :-( , с ml.exe из пакета masm32_8.2 Hutch'а тоже ничего не получается, ... ну что за засада..


Дата: Ноя 14, 2004 03:49:42

Вот зараза, оказывается строка
mov [ebx].u.ExitProcess.dwExitCode, eax

конфликтует с моими инклудами, в частности с этими строками
externdef _imp__ExitProcess@4:PTR pr1
ExitProcess equ <_imp__ExitProcess@4>


Мля, пока допёр в чём дело, меня конкретно задрало извилины напрягать >%)


Дата: Ноя 14, 2004 09:11:10

Проблема описана, кто, какие пути решения предлагает??

Самое простое - вернуть стандартные инклуды хотя бы для этой функции или переименовать член структуры ExitProcess.

Может есть более изящное решение, написание какого-нить макроса например?


Дата: Ноя 14, 2004 12:34:12

Я с подобной фигней при написании Strings.mac столкнулся. Как я понял, у масма, похоже, глобальная таблица символов. Если у тя ExitProcess равен _imp__ExitProcess@4, то как только масм встретит ExitProcess, то тупо подставит _imp__ExitProcess@4.

Видимо, кроме тех двух вариантов, которые ты уже сам знаешь ничего придумать нельзя. Если сорсы только для тебя, то переименовывай поле ExitProcess, если для пиплов, то придется юзать стандартные инклуды.

... есть такой вариант. Переделать в твоих инклудах только ExitProcess так:
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>


Дата: Ноя 14, 2004 14:03:16

Four-F
Понятно.
В общем когда fasm научат понимать стандартные С-шные инклуды все перейдем на fasm, masm морально устарел ;-)


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.077