NASMX - второе дыхание NASM

Тема в разделе "WASM.ASSEMBLER", создана пользователем rdtsc, 25 янв 2011.

  1. rdtsc

    rdtsc Параллелепипедов Артем

    Публикаций:
    0
    Регистрация:
    10 мар 2009
    Сообщения:
    180
    Адрес:
    Москва
    Хочу поделиться впечатлением..
    Посмотрел - это сила, правда пока не использовал.
    Локальные переменные,аргументы, все как в MASM(который я ненавижу), структуры.
    Они дошли даже до типов Си (size_t,uint32,...)..Вобщем класс
    А то чуть было не начал вспоминать этот Masm

    +локальные массивы..
     
  2. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    Мне казалось YASM - второе дыхание nasm - a?
     
  3. rdtsc

    rdtsc Параллелепипедов Артем

    Публикаций:
    0
    Регистрация:
    10 мар 2009
    Сообщения:
    180
    Адрес:
    Москва
    скачивал yasm - он у меня както не пошел..не помню,что - но возникли там какието проблемы с ним..такое впечатление что он то ли забыт то ли не дороботан..не помню уже..
    Вобщем негативое впечатление о нем.
    А вот nasmx - просто сказка..Там уже и инклюдник есть с некоторым числом винапи структур..далеко не все,конечно..
    Все типы, оператор sizeof, портабельный по части указателя(32/64 бит)..
    Вот тока сегодня скачал,пару час назад,щас перевожу winsock струтуры, компилячу - проблем никаких пока не вижу..
    Один сплошной ПОЗИТИВ..

    А главное -маленький пакет- всегото 2 экзешника(линкер и транслятор), и 1 инклюдник препроцессора!! И ВСЕ!
    Ну и куча инклюдников для прототипов(импортов) ф-ий винапи, линукса,Х11
    А вот МАсм - страшно смотреть сколько там всего и как все это работает.
    насмх же - минимализм - просто и понятно (хотя файл препроцессорных маркосов лучше не открывать, чтоб кшомары не снились))
     
  4. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    rdtsc
    Спасибо попробуем )))
     
  5. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    после появления fasm про nasm(и его потомков) можно забыть
     
  6. newbie

    newbie New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2008
    Сообщения:
    1.246
    rdtsc, действительно, чем тебя фасм не устраивает?
     
  7. rdtsc

    rdtsc Параллелепипедов Артем

    Публикаций:
    0
    Регистрация:
    10 мар 2009
    Сообщения:
    180
    Адрес:
    Москва
    наверно дело привычки..привык к nasm.
    Примерно тоже самое как например тяжело перейти от старого любимого TD32 к Оле той же..

    Почитал про фасм на вики - он и правда вроде бы очень силен..
    И вроде в нем преимущество - простой доступ к локал переменным,и аргументам,не нужны никакие макросы (в nasmx это так: mov eax,dword [argv(.var)])
    Блин, весь позитив ушел,придется на fasm переходить видимо..

    Но все равно, для любителей nasm, х-расширение nasm это большой прорыв..
     
  8. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    http://sourceforge.net/projects/nasmx/

    худым его не назовешь. а чего он стоит, этот метр с лишком? можно примеры листингов привести?
    насколько читабельны его сорцы? можно ли их скомпилить в более приличные объемы? насколько у него легко отстегнуть препроцессор и использовать только кодогенератор?
    какие процы и расширения он поддерживает? (х64, арм, sseN итд)

    ато эмоции, эмоции.
     
  9. rdtsc

    rdtsc Параллелепипедов Артем

    Публикаций:
    0
    Регистрация:
    10 мар 2009
    Сообщения:
    180
    Адрес:
    Москва
    Эмоции обсуловлены сравнием nasmx и nasm - по кр мере можно писать нормальные процедуры и юзать структуры..Струтуры и в старом было но неудобно использовать было..если макросы не писать..

    Старый nasm всегда поддерживал вроде как sse,mmx
    Новый (Х) пишут до sse5 поддерживает..

    пример исользования..
    Код (Text):
    1. [section .code]
    2. %include 'inc\nasmx\nasmx.inc'
    3. %include 'windows.inc'
    4.  
    5. NASMX_STRUC STR1
    6.     NASMX_RESERVE a, dword, 1
    7.     NASMX_RESERVE b, char_t, 1
    8. NASMX_ENDSTRUC
    9.  
    10. _main:
    11. proc P1,dword x,dword y
    12.     locals
    13.         local sock,dword
    14.         local rc,dword
    15.         local mas,dword,10 ;array
    16.     endlocals
    17.     mov eax,sizeof(STR1)
    18.     mov ebx,dword [var(.mas)+4*sizeof(dword)]
    19.     mov al,char_t [s1 + STR1.b]
    20.     return dword [var(.rc)]
    21. endproc
    22.  
    23. [section .bss]
    24. buf:   reserve(byte) 1000h
    25. [section .data]
    26. NASMX_ISTRUC s1,STR1
    27.     NASMX_AT a, 0
    28.     NASMX_AT b, 'a'
    29. NASMX_IENDSTRUC
    Тут никто и не сравнивает какой асм лучше ..топик называется - второе дыхание..я лично почуствовал что nasm изменился защет этого к лучшему.
     
  10. ivan2k2

    ivan2k2 New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2006
    Сообщения:
    95
    хмм.. только я обнаружил, что nasmx - это просто обычный nasm, только с макросами? чейнджлог хоть почитайте...
    хотя идея хороша...
     
  11. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    rdtsc
    А можно пример макроса?
    Ну, локальные переменные в фасме делаются как раз макросами...

    А макросы насмаикс могут возвращать значение (простите, просто действительно нужная вещь), если нет, то не вижу позитивный отличий от фасма.
    Фасм - 1 экзешник ;)

    ЗЫ
    Перепробовал всякие розасмы, ясмы, звасмы и в конце концов остановился всё-таки на фасме.... Жду, пока напишут что-нибудь более стоящее ;)
     
  12. rdtsc

    rdtsc Параллелепипедов Артем

    Публикаций:
    0
    Регистрация:
    10 мар 2009
    Сообщения:
    180
    Адрес:
    Москва
    А ктото говорил обратное?) Просто макросы хороши! Это то, чего не доставало насму..
    Хотя есть минусы конечно,когда начал разбираться..Написал об одном из них..Говорят что может добавят улучшение,касающиеся объявлений вложенных структур, чтобы было как в Си..
     
  13. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.241
    yasm кстати клевый, не надо грязи... но канеш развивается он медленно... а nasmx - это не насм с макросами, это - макросы для насма))) я использую yasm совместно с nasmx, никакой нужды в fasm'е или в любом другом ассемблере я не ощущаю... а любителям программирования высокого уровня можно посоветовать HLA))):
    http://en.wikipedia.org/wiki/High_Level_Assembly
     
  14. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
  15. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    если там есть a86 и ACK, то логично было бы добавить и 8a из ken-cc
     
  16. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.241
    NoName
    судя по таблице nasm и yasm выигрывают у fasm поддержкой макоса)))
     
  17. rdtsc

    rdtsc Параллелепипедов Артем

    Публикаций:
    0
    Регистрация:
    10 мар 2009
    Сообщения:
    180
    Адрес:
    Москва
    спасибо за то что наставили на путь истинный..
    NASM(X) - созадние великого таланта
    FASM же - создание гения..в нем везде сквозит простота

    P.S. перешел на fasm.
     
  18. rdtsc

    rdtsc Параллелепипедов Артем

    Публикаций:
    0
    Регистрация:
    10 мар 2009
    Сообщения:
    180
    Адрес:
    Москва
    Любителям програмить высоко лучше посоветовать Си..любой асм он нижним и останется..просто ,как ни крути, заимствования из высоких языков - это очень удобно, и хорошо их иметь в асме, чтобы было безгеморно писать и поддерживать, чтото относительно непростое..эти заимствования никак не делают его высоким.
    Как был асм так асмом и остался, тока может чуточку погламурел..
     
  19. Z3N

    Z3N New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2009
    Сообщения:
    812
    rdtsc
    Может и просквозить ;)
     
  20. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.241
    HLA сравним с си по высоте, если не выше...