Microsoft Visual C++ 2010 Express & masm

Тема в разделе "WASM.BEGINNERS", создана пользователем fragment, 23 авг 2010.

  1. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    У меня установлен Microsoft Visual C++ 2010 Express хочу отлаживать свои проекты на masm в ldams , но не могу даже посторить приложение в этой среде на asm. Помогите собрать минимальный проект на masm и как добавлять заголовок для последующего дебага программы.

    Буду рад услышать любые советы по настройки этой среды!!!
     
  2. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    fragment
    пиши асм вставкой
     
  3. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    а какой минемальный проект должен быть для етого, какие файлы должны быть в нем , покажите пример пожалуйста.

    И еще, не могу найти ml64.exe в студии , где он там лежит точно подсажите , хотел перебраца на masm64 но чето не смог найти компилятор , а видел его раньше там.
     
  4. dyn

    dyn New Member

    Публикаций:
    0
    Регистрация:
    30 окт 2009
    Сообщения:
    566
    Если не секрет, сколько вам лет?
     
  5. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
    Нам 25 , а вам ?

    Про асм вставки я нашел http://msdn.microsoft.com/en-us/library/45yd4tzz.aspx напишите пожалуйста пример с вызовом хотябы одной апи функции , какие файлы надо добавлять и тд...
     
  6. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    dyn
    ну раз в паралельном говорил(а) что "брезгует" скорее всего девушка, а им такие вопросы воспитанные мальчики не задают)
     
  7. fragment

    fragment New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2008
    Сообщения:
    266
  8. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    fragment
    Код (Text):
    1. #include "stdafx.h"
    2.  
    3. char* title = "Error";
    4. char* mess = "Fragment in system";
    5. int _tmain(int argc, _TCHAR* argv[])
    6. {
    7.    
    8.     __asm{
    9.        
    10.         push MB_OK
    11.         push title
    12.         push mess
    13.         push 0
    14.         call dword ptr [MessageBoxA]
    15.         push 0
    16.         call dword ptr [ExitProcess]
    17.        
    18.     };
    19.    
    20. }
     
  9. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    fragment
    прям отечественный уолт дисней, туда ещё 3д графику добавить лучше, чем статьи умные на этом сайте читать
     
  10. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.315
    асм-вставки не работают под x64 кстати... там надо создавать отдельный asm-файл, и указывать что его надо компилить студийным масмом... это как вариант ухода от асм-вставок...
     
  11. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Rel
    да, одельными файлами, а проект на базе макефайла удобно
     
  12. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.315
    не обязательно... там все через окошки настраивается... можно кстати еще и интринсикой пользоваться, как ещё одной альтернативой вставок)))) а еще можно писать опкодами в страницу с правами PAGE_EXECUTE_READWRITE и потом передавать управление))))
     
  13. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    Rel
    да я не прикаловался, это действительно удобно и не зависит от версии студии.
    ты в курсе что стандартные студийные проекты не очень хорошо совместимы между версиями студии?
    попробуй с CUDA SDK от NVIDIA поработать в 2010, она под 2008 заточена. они сами об этом предупреждают.
    а в некоторых конторах макефайл стандартный тип проекта.
     
  14. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.315
    ну скажем знающему человеку удобно, а новичку... хотя не знаю... надо быть довольно тупым, чтобы не понять как писать макефайлы)))

    у меня никогда не было проблем... я правда сторонними SDK не пользовался, только DDK...
     
  15. s_d_f

    s_d_f New Member

    Публикаций:
    0
    Регистрация:
    15 май 2008
    Сообщения:
    342
    Уже и не помню где именно, но на каком-то микрософтовском форуме говорилось, что масма больше не будет. Есть только альтернативные ассемблеры с масмовским синтаксисом.
    Мне кажется самый лучший это poasm. Скачать можно здесь
    . Но инклуды и возможно некоторые либы придётся самому делать.
     
  16. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    s_d_f
    его при инсталле студии надо выбирать( вобще весь пакет 64), он по умолчанию не ставится
     
  17. s_d_f

    s_d_f New Member

    Публикаций:
    0
    Регистрация:
    15 май 2008
    Сообщения:
    342
    Работа с проектом масма пока остановлена. По крайне мере здесь https://connect.microsoft.com/Visua...use-it-does-not-support-the-high-level-syntax парочка официальных ответов от VS Product Team по этому вопросу.
     
  18. Guru_of_Zen

    Guru_of_Zen Member

    Публикаций:
    0
    Регистрация:
    21 янв 2010
    Сообщения:
    288
    ну а как же приостановлена, если в 10 версии добавили поддержку новых инструкций ?

    AVX/AES ?? ?
     
  19. Guru_of_Zen

    Guru_of_Zen Member

    Публикаций:
    0
    Регистрация:
    21 янв 2010
    Сообщения:
    288
    и ксати сам мл64 лежит по адресу -- vs 2010 ultimate\VC\bin\x86_amd64

    ps легко догадаться што уровнем выше -- vs 2010 ultimate\VC\bin\ -- лежат компилеры для других архитектур, итаниум64, 32 и т.д.
     
  20. s_d_f

    s_d_f New Member

    Публикаций:
    0
    Регистрация:
    15 май 2008
    Сообщения:
    342
    А много-ли наруду жаловалось на отсутствие этих инструкций?

    Posted by Microsoft on 5/11/2010 at 10:45 AM
    When the port of the Microsoft Macro Assembler (MASM) to the x64 hardware platform was undertaken we decided not to port the high level language construct support, which include INVOKE, .IF, .ELSE, .WHILE, etc (not to be confused with the conditional assembly directives IF, ELSE, WHILE, etc). There were, of course, a number of reasons including fundamental differences in calling convention, exception handling, etc. Support for x64 exception handling alone would likely require a complete redesign of the directives currently used to support exception handling at the assembly language level. And while MASM is very important to a number of users, we decided to invest our resources in keeping MASM up to date with the steady stream of new processors.

    But we do periodically get a request for putting the high level language constructs in ML64.EXE so we will keep the option open. For now, though, we have no plans to do so.

    Thanks for using MASM!
    Visual Studio (and MASM) Product Team

    Надеюсь переводчики/словари у всех установлены.
    Вот еще три месяца назад писали, что не планируется добавление built-in макросов INVOKE, .IF, .ELSE, .WHILE.
    Или что уже и это исправили и мне нужно новую студию скачивать?