Правильная компилляция в masm32

Тема в разделе "WASM.BEGINNERS", создана пользователем VOVEC, 21 июл 2006.

  1. VOVEC

    VOVEC New Member

    Публикаций:
    0
    Регистрация:
    16 июн 2006
    Сообщения:
    9
    Везде пишут по разному, вот и спрашиваю такой глупый вопрос...
    Как правильно компилить в masm32 ?
    Если с помощью qeditor то он не на что не раегирует, запихиваю исходный код, сохраняю его, потом по сути надо нажать "build all' и "run program" но хоть обожмись, толку не какого, исполняемого файла я не получаю
    Были попытки компилить через cmd вот логи

    Код|Code
    Microsoft Windows XP [Версия 5.1.2600]
    (С) Корпорация Майкрософт, 1985-2001.

    C:\Documents and Settings\Вова>cd c:\masm\bin

    C:\masm\bin>ml /c /coff C:\avers\alex1.asm
    Microsoft (R) Macro Assembler Version 6.14.8444
    Copyright (C) Microsoft Corp 1981-1997. All rights reserved.

    Assembling: C:\avers\alex1.asm
    C:\avers\alex.inc(11) : error A2006: undefined symbol : MAX
    C:\avers\alex1.asm(17) : error A2108: use of register assumed to ERROR
    C:\avers\alex1.asm(151) : error A2006: undefined symbol : dwSize
    C:\avers\alex1.asm(156) : error A2006: undefined symbol : szExeFile
    C:\avers\alex1.asm(157) : error A2006: undefined symbol : th32ProcessID
    C:\avers\alex1.asm(286) : warning A4023: with /coff switch, leading underscore r
    equired for start address : start


    HELP Plizzzz!
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
  3. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    А вообще у тебя проблема не с ключами, а с кодом.
     
  4. Brutaller

    Brutaller New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2006
    Сообщения:
    16
    Адрес:
    C:\Russia\SPb
    Не парься ты со всякими там qeditor и т.п. Поставь себе RadASM и будет тебе счастье. Очень даже не плохое IDE для MASM и не только для него. Даже если не создавать в нем никаких проектов, то по умолчанию он настроен для создания обычных *.exe без всякого гемора с командной строкой.
    А еще стоит обратить внимание на Fasm, тоже очень достойный компилятор. Подсветка синтаксиса конечно очень простенькая, но можно юзать и консольную версию совместно с каким-нить сторонним редактором с навороченной подсветкой синтаксиса. Исходники написанные под MASM не трудно переделать под Fasm.

    Успехов.
     
  5. VOVEC

    VOVEC New Member

    Публикаций:
    0
    Регистрация:
    16 июн 2006
    Сообщения:
    9
    Обломно, лучше бы проблема с ключами была)
    Вот если кому интерестно, можете посматреть исходники проги, она должна килить процессы AV
    Может подскажите как мне это всё собрать

    RadASM какой нибудь мануал или хелп подскажите, неясно мне в нём чёт нефига...

    Не трудно тому кто на нём кодит
     
  6. Brutaller

    Brutaller New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2006
    Сообщения:
    16
    Адрес:
    C:\Russia\SPb
    Хе, так исходничек то судя по всему под TASM был написан ;)
     
  7. vitokop

    vitokop Member

    Публикаций:
    0
    Регистрация:
    20 май 2006
    Сообщения:
    48
    vitokop
    ML /coff /c prog1.asm
    получим объектный модуль prog1.obj - все будет в директории,
    откуда апускали ML
    теперь линкуем и получаем prog1.exe
    для Windows
    LINK /SUBSYSTEM:WINDOWS prog1.obj {через пробел другие модули}
    для консоли
    LINK /SUBSYSTEM:CONSOLE prog1.obj
    - все будет в директории,откуда апускали ML
    Ошибки - генерит твоя программа
    1.Рекомендую книгу В.Пирогов "Ассемблер для Windows", 2003, Санкт-Перетбург,
    "БХВ-Петербург"
    2.Уроки Iczeilon's здесь на WASM
     
  8. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Рекомендую везде и всегда:
    1. Опцию /?
    2. Словарь английского языка(кому действительно нужен) для результата работы п.1
     
  9. vitokop

    vitokop Member

    Публикаций:
    0
    Регистрация:
    20 май 2006
    Сообщения:
    48
    посмотрел исходники
    MAX должен быть раньше PROCESSENTRY32
    вооще необходимо для MASM описатели типа
    assume:
    например,
    mov [ebx].dwSize, size PROCESSENTRY32
    д.б.
    assume ebx:ptr PROCESSENTRY32
    и дальше по тексту
    mov [ebx].dwSize, size PROCESSENTRY32
    и т.д....
    Потом, когда закончил с ebx и его привязкой к PROCESSENTRY32
    assume ebx:nothing
    и т.д. и т.д.