Почему ругается masm?

Тема в разделе "WASM.ASSEMBLER", создана пользователем Asterix, 13 ноя 2004.

  1. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Не пойму, неужели я накосячил в таком куске кода?
    Код (Text):
    1.   assume ebx:ptr DEBUG_EVENT
    2.   mov [ebx].u.ExitProcess.dwExitCode, eax
    3.   assume ebx:nothing
     
  2. Turkish

    Turkish New Member

    Публикаций:
    0
    Регистрация:
    25 окт 2004
    Сообщения:
    80
    Адрес:
    Russia
    не мучайся, напиши mov [ebx+12],eax
     
  3. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Так будет не информативно, да и нужно разобраться кто ошибается я или masm %)
     
  4. out_Lander

    out_Lander New Member

    Публикаций:
    0
    Регистрация:
    31 окт 2004
    Сообщения:
    2
    А диззасемблировать не пробовал? Посмотри что он (masm) там реально сделал
     
  5. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    out_Lander

    cm. subj
     
  6. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    out_Lander

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



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



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

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    А у меня схавал без проблем и ассемблируется в то что нужно.



    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
     
  8. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Four-F

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



    А что мне то делать? %)

    У тебя какой масм, Hutch'евский?
     
  9. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    У меня такой
    Код (Text):
    1. comment ® ¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤
    2.  
    3.       WINDOWS.INC for 32 bit MASM (Version 1.26e) Release 23 May 2003
    4.  
    5.       Project WINDOWS.INC at [url=http://www.masmforum.com
    6. ]www.masmforum.com
    7. [/url]
    8.  
    9.       WINDOWS.INC is copyright software licenced to the user by the
    10.       MASM32 project. It is available completely free of any charges
    11.       for any person to use for purposes including commercial software
    12.       but the file must not be sold or included in any commercial
    13.       programming package.
    14.  
    15.       This also includes publications that are for sale.
    16.  
    17.       WINDOWS.INC Copyright © The MASM32 Project 1998 - 2003
    18.  
    19.       Short history.
    20.       Original file 1998        hutch
    21.       NT and later additions    Iczelion
    22.       Duplicate removal         Jibz
    23.       Bug fixes and additions   User contributed
    24.  
    25.       hutch@movsd.com
    26.  
    27. ¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤=ч=¤= ч=¤ ®
     
  10. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    ЗЫ: у меня ml.exe от 2002 и 2003 студии, придётся видимо откатываться на стандартный что входит в поставку Hutch'а..
     
  11. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Four-F

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

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Вот зараза, оказывается строка
    Код (Text):
    1. mov [ebx].u.ExitProcess.dwExitCode, eax


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




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

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Проблема описана, кто, какие пути решения предлагает??



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



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

    Four-F New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2002
    Сообщения:
    1.237
    Я с подобной фигней при написании Strings.mac столкнулся. Как я понял, у масма, похоже, глобальная таблица символов. Если у тя ExitProcess равен _imp__ExitProcess@4, то как только масм встретит ExitProcess, то тупо подставит _imp__ExitProcess@4.



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



    ... есть такой вариант. Переделать в твоих инклудах только ExitProcess так:


    Код (Text):
    1.  
    2. externdef _imp__Xxx@4:PTR pr1
    3. Xxx equ <_imp__Xxx@4>
    4.  
    5. ExitProcess proto :DWORD
    6.  
    7. externdef _imp__Yyy@4:PTR pr1
    8. Yyy equ <_imp__Yyy@4>
    9.  
     
  15. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    Four-F

    Понятно.

    В общем когда fasm научат понимать стандартные С-шные инклуды все перейдем на fasm, masm морально устарел :derisive: