Как собирать проект на masm, включающий в себя несколько asm файлов?

Тема в разделе "WASM.BEGINNERS", создана пользователем oxvlad, 28 авг 2009.

  1. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Clerk
    Ну... ничего он не скомпилит, потому что код для фасм. А чего AFAIK масм не может принципиально - это менять уже скомпилированный код.
    Собственно см. пост 39. Вы можете написать код под масм, который можно наполнить любой функциональностью и он при этом будет компилироваться только в ASCII?
    P.S. Только, пожалуйста, без этих юниксовых замашек в духе: скомпилировать масмом, потом поискать в полученном бинарнике grep'ом, потом отредактировать ещё какой-нить утилитой и воспользоваться трёхметровым скриптом в makefile'е. Всегда меня раздражало, что нужно 150 утилит, чтобы сделать то, что должна делать одна.
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    l_inc
    Отвечу в токомже стиле, скомпильте на фасме то, что компилю я..
    А насчёт бинарей - код расолагаем с начала секции и дампим его любой тулзой. А в хекс массив конвертить дамп - тут удобная тулза BlackParrot-a была.
     
  3. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Clerk
    Ой... да ладно. Тега "sarcasm" на васме нету. Этим ответом я просто подчеркнул некорректность поставленного Вами вопроса. Да и придрались Вы к этому только потому, что не можете реализовать сабж на масме. По сути же было дальше написано.
    Вообще-то речь не просто о бинарниках. Т.е. потом ещё как-нибудь прилопачиваем этот массив к коду (в ASCII-стиле) для обратного конвертирования? И вот так вот надо будет _вот_этим_вот_самым_заниматься_ каждый раз, когда хочется перекомпилировать бинарник.
    Проги, которые предоставляют кнопку "Сделать, как я хочу" всегда ценились. Так вот фасм даёт мне такую кнопку: взял любой чужой исходник, нажал compile и получил. На масме же придётся изрядно репой апстену поелозить, пока поймёшь, с какими же ключами предполагал автор трансляцию, с какими компоновку, и какой десяток утилит ещё надо применить, чтобы получить желаемое.
    Короче, противопоставить фасму масм по сабжу самостоятельно ничего не может.
     
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    l_inc
    Ктото на масме, ктото на фасме, ктото на дельфе.. у всех выбор свой соответственно возможностям. Вы кстате товарищ не далёкий, давно подмечено. Так что не стоит кричать что апстену.
     
  5. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Clerk
    Что я — "товарищ не далёкий" (оригинальное правописание сохранено :)), я и сам не раз говорил. Вполне открыто. Но в данном случае это значения не имеет, т.к. я предоставил вполне конструктивную критику масму, а Вы уходите от ответа.
    По поводу выбора... я начинал с tasm (причём писал там только в режиме masm). На fasm перешёл очень легко. Практически за полчаса-час. Сейчас, если кто-то задаёт вопрос, выкладывая исходники на masm, у меня полчаса уходит только на то, чтобы заставить эти исходники хоть как-то компилироваться. И это при том, что по сути я начинал с masm'ового синтаксиса.
    А Вы этот выбор делали? Вы переходили на fasm? Вы бы хоть дня три на нём посидели, оценили его синтаксис и макросредства. Не для того, чтобы прийти сюда и написать: "Да... реально fasm рулит", — а чтобы себе же написание кода упростить и повысить продуктивность.

    Всё, на этом я выдохся.
     
  6. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    all
    плохо то, что ни у fasm, ни у masm нет нормального SDK,
    вот и приходится каждый раз, когда код ассемблируется с ошибками,
    заглядывать в orginal sdk и переделывать нужный кусок кода ассемблер.
     
  7. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    Microedition
    приведи пример хотя бы двух таких кусков (один я и сам знаю где, но я его уже давно пофиксал)
     
  8. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    для фасма в смысле
     
  9. s_d_f

    s_d_f New Member

    Публикаций:
    0
    Регистрация:
    15 май 2008
    Сообщения:
    342
    Синтаксис masm лучше. Вместо offset можно addr писать или вообще lea eax,Variable. На фасм хотел перейти, но лень было макросы fasmoвские учить. Хорошо если-бы в фасме макросы были в виде шелкода, из одних ассемблерных мнемоник.
     
  10. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    s_d_f и была бы еще одна копия такого же гуана, к которому относятся большинство masm/tasm подобных ассемблеров (хотя я ничего против них не имею, просто функционал их уже устарел, ровно как и принципы). но к фасму же прилагается инклюд для приведения синтаксиса макросов к масовскому ну или отчасти подобному, а если покопаться на их форуме, то можно найти примеры приведения даже к Си подобному с вызовами типа
    Код (Text):
    1. WriteFile(GetStdHandle(STD_OUTPUT_HANDLE), "Hello world!", lstrlen("Hello world!"), var, NULL)
    на масме таким и не пахло, не говоря уже даже про редактирование откомпилированного кода
     
  11. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    max7C4
    Microsoft ® Macro Assembler © Microsoft Corporation. All rights reserved.
    Базовая часть ядра NT написана на масме. Если комуто не нравится торговая марка, то тогда всё ясно.
     
  12. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    Clerk
    и какая же это - sbr
     
  13. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Trap processing, context switching.
     
  14. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    ага. пару тройку команд в тучу сишного кода запихнули, от того, что на сишнике это не написать. да и то небось в студии просто асм поюзали.
     
  15. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    max7C4
    Оо.. вы даже эти сурцы не видели.. О чём вобще в таком случае говорить можно.
     
  16. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    Clerk
    О!!! У Вас есть сорцы!!! Нука соберитика мне XP SP3 (ну или хотя бы SP2), с оптимизацией для 4 ядер. Может какие-никакие сорцы у вас и есть, но я еще не видел ни одних полных от винды. Хотя мелкомягкие обесЧали и даре в новостях об этом говорилось. И то что они там приводят полнейший бред. На си он еще кое-как компилится, а вот чтобы полностью - ни разу еще не получилось собрать.
     
  17. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    А студийные асм вставки легко копируются в асм и собираются тем же масмом
     
  18. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    быдлокодерские поделия.

    (хм, или просто, ради забавы?)
     
  19. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    ну да, к ассемблеру я уже редко обращаюсь, уже не помню.
    в последнее время свои поделки на си пишу.
     
  20. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    не вопрос - напишем на масме соответсвующую универсальную обертку и все
    только цель такой стилизации ?