Хочу поделиться впечатлением.. Посмотрел - это сила, правда пока не использовал. Локальные переменные,аргументы, все как в MASM(который я ненавижу), структуры. Они дошли даже до типов Си (size_t,uint32,...)..Вобщем класс А то чуть было не начал вспоминать этот Masm +локальные массивы..
скачивал yasm - он у меня както не пошел..не помню,что - но возникли там какието проблемы с ним..такое впечатление что он то ли забыт то ли не дороботан..не помню уже.. Вобщем негативое впечатление о нем. А вот nasmx - просто сказка..Там уже и инклюдник есть с некоторым числом винапи структур..далеко не все,конечно.. Все типы, оператор sizeof, портабельный по части указателя(32/64 бит).. Вот тока сегодня скачал,пару час назад,щас перевожу winsock струтуры, компилячу - проблем никаких пока не вижу.. Один сплошной ПОЗИТИВ.. А главное -маленький пакет- всегото 2 экзешника(линкер и транслятор), и 1 инклюдник препроцессора!! И ВСЕ! Ну и куча инклюдников для прототипов(импортов) ф-ий винапи, линукса,Х11 А вот МАсм - страшно смотреть сколько там всего и как все это работает. насмх же - минимализм - просто и понятно (хотя файл препроцессорных маркосов лучше не открывать, чтоб кшомары не снились))
наверно дело привычки..привык к nasm. Примерно тоже самое как например тяжело перейти от старого любимого TD32 к Оле той же.. Почитал про фасм на вики - он и правда вроде бы очень силен.. И вроде в нем преимущество - простой доступ к локал переменным,и аргументам,не нужны никакие макросы (в nasmx это так: mov eax,dword [argv(.var)]) Блин, весь позитив ушел,придется на fasm переходить видимо.. Но все равно, для любителей nasm, х-расширение nasm это большой прорыв..
http://sourceforge.net/projects/nasmx/ худым его не назовешь. а чего он стоит, этот метр с лишком? можно примеры листингов привести? насколько читабельны его сорцы? можно ли их скомпилить в более приличные объемы? насколько у него легко отстегнуть препроцессор и использовать только кодогенератор? какие процы и расширения он поддерживает? (х64, арм, sseN итд) ато эмоции, эмоции.
Эмоции обсуловлены сравнием nasmx и nasm - по кр мере можно писать нормальные процедуры и юзать структуры..Струтуры и в старом было но неудобно использовать было..если макросы не писать.. Старый nasm всегда поддерживал вроде как sse,mmx Новый (Х) пишут до sse5 поддерживает.. пример исользования.. Код (Text): [section .code] %include 'inc\nasmx\nasmx.inc' %include 'windows.inc' NASMX_STRUC STR1 NASMX_RESERVE a, dword, 1 NASMX_RESERVE b, char_t, 1 NASMX_ENDSTRUC _main: proc P1,dword x,dword y locals local sock,dword local rc,dword local mas,dword,10 ;array endlocals mov eax,sizeof(STR1) mov ebx,dword [var(.mas)+4*sizeof(dword)] mov al,char_t [s1 + STR1.b] return dword [var(.rc)] endproc [section .bss] buf: reserve(byte) 1000h [section .data] NASMX_ISTRUC s1,STR1 NASMX_AT a, 0 NASMX_AT b, 'a' NASMX_IENDSTRUC Тут никто и не сравнивает какой асм лучше ..топик называется - второе дыхание..я лично почуствовал что nasm изменился защет этого к лучшему.
хмм.. только я обнаружил, что nasmx - это просто обычный nasm, только с макросами? чейнджлог хоть почитайте... хотя идея хороша...
rdtsc А можно пример макроса? Ну, локальные переменные в фасме делаются как раз макросами... А макросы насмаикс могут возвращать значение (простите, просто действительно нужная вещь), если нет, то не вижу позитивный отличий от фасма. Фасм - 1 экзешник ЗЫ Перепробовал всякие розасмы, ясмы, звасмы и в конце концов остановился всё-таки на фасме.... Жду, пока напишут что-нибудь более стоящее
А ктото говорил обратное?) Просто макросы хороши! Это то, чего не доставало насму.. Хотя есть минусы конечно,когда начал разбираться..Написал об одном из них..Говорят что может добавят улучшение,касающиеся объявлений вложенных структур, чтобы было как в Си..
yasm кстати клевый, не надо грязи... но канеш развивается он медленно... а nasmx - это не насм с макросами, это - макросы для насма))) я использую yasm совместно с nasmx, никакой нужды в fasm'е или в любом другом ассемблере я не ощущаю... а любителям программирования высокого уровня можно посоветовать HLA))): http://en.wikipedia.org/wiki/High_Level_Assembly
спасибо за то что наставили на путь истинный.. NASM(X) - созадние великого таланта FASM же - создание гения..в нем везде сквозит простота P.S. перешел на fasm.
Любителям програмить высоко лучше посоветовать Си..любой асм он нижним и останется..просто ,как ни крути, заимствования из высоких языков - это очень удобно, и хорошо их иметь в асме, чтобы было безгеморно писать и поддерживать, чтото относительно непростое..эти заимствования никак не делают его высоким. Как был асм так асмом и остался, тока может чуточку погламурел..