На каких ассемблерах вы пишете чаще всего?

Тема в разделе "WASM.ASSEMBLER", создана пользователем Jin X, 17 янв 2018.

?

На каких ассемблерах вы пишете ЧАЩЕ ВСЕГО? (читайте примечание в теме)

  1. Macro Assembler (MASM)

  2. Turbo Assembler (TASM)

  3. Flat Assembler (fasm)

  4. Netwide Assembler (NASM), YASM (включая NASM в SASM IDE с его макросами)

  5. GNU Assembler (GAS)

  6. WASM и его потомки: UASM/HJWASM, JWASM

  7. GoAsm (отдельно GoLink не считается)

  8. Pelle Orinius Assembler (PoAsm)

  9. Ассемблер, встроенный в языки высокого уровнях (C++, Delphi, etc... напишите!)

  10. Ассемблер в emu8086 (TASM-подобный, не fasm !!!)

  11. Flat Assembler G (fasmg) [укажите в теме – для каких архитектур используете !!!]

  12. Atmel AVR Assembler (или другой AVR-ассемблер, но не fasmg... напишите!)

  13. FASMARM и другие ARM-ассемблеры (напишите в теме – какой именно!)

  14. Другие ассемблеры для архитектур, совместимых с IA-32/Intel 64 (напишите!)

  15. Другие ассемблеры для архитектур, НЕ совместимых с IA-32/Intel 64 (для микроконтр, 8-бит, напишите!)

  16. Я не пишу на ассемблере :(

  17. High-level Assembler/Assembly (HLA, HLASM)

Можно выбрать сразу несколько вариантов.
Результаты будут видны только после голосования.
  1. Jin X

    Jin X Active Member

    Публикаций:
    0
    Регистрация:
    15 янв 2009
    Сообщения:
    250
    Адрес:
    Кольца Сатурна
    Пожалуйста, не выбирайте в опросе ВСЕ ассемблеры, на которых вы пишете!!!
    Выбирайте только те, на которых вы пишете НАИБОЛЕЕ ЧАСТО!!!

    (я ограничил возможность выбора 5-ю пунктами – и то это слишком много)

    А список всех ассемблеров, на которых вы пишете хотя бы иногда, вы можете перечислить в виде сообщения.
    Это будет тоже интересно :)
    Также интересно узнать, для чего вы используете ассемблеры архитектур, не совместимых в IA-32/Intel 64 (например, AVR... IoT, Arduino?)
    ____________________________________________________________________________________________________________________

    Начну, пожалуй, с себя...
    Наиболее часто (вот их я и выбрал в опросе):
    • MASM32 и немного реже fasm – под Windows.
    • TASM – под DOS.
    • Ассемблер, встроенный в Delphi.
    Реже:
    • NASM, GAS – в основном, когда нужно писать под Linux (пару раз писал в SASM IDE под Windows с его макросами – по запросам нуждающихся).
    Иногда использую UASM, но только чтобы скомпилировать код, написанный для MASM (кстати, там ведь можно использовать AVX, например).
    MASM64 вообще не люблю из-за некоторых нюансов.
    Несколько раз писал в emu8086 (когда нужно было сделать что-то кому-то).
    Пару раз использовал fasmg.
     
    Последнее редактирование: 17 янв 2018
  2. Thetrik

    Thetrik UA6527P

    Публикаций:
    0
    Регистрация:
    25 июл 2011
    Сообщения:
    422
    MASM, FASM, NASM, AVRASM
     
  3. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    1
    Регистрация:
    11 июн 2004
    Сообщения:
    3.020
    Адрес:
    Russia
    Добавлю по мимо стандартного набор MASM, FASM, GAS, еще - Nvidia PTX, AMD HSAIL
     
  4. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    7
    Регистрация:
    25 июн 2008
    Сообщения:
    2.697
    MASM, FASM, NASM
     
  5. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    1.922
    Статистика может быть предсказана - шум с перевесом на наиболее популярные инструменты. Какой в этом смысл ?
     
  6. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    1
    Регистрация:
    11 июн 2004
    Сообщения:
    3.020
    Адрес:
    Russia
    Indy_, ну может быть у ТС есть какая-то цель.)) может он агент КГБ ))
     
  7. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    413
    Не пишу на ассемблере, использую интринсики под несовместимые с x86 платформы.
     
  8. calidus

    calidus Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    609
  9. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.385
    Адрес:
    г. Санкт-Петербург
    Последнее время только GAS.
     
  10. X-Shar

    X-Shar Member

    Публикаций:
    0
    Регистрация:
    24 фев 2017
    Сообщения:
    114
    PowerPC assembler, про такой наверное мало кто и знает. :)

    Хотя как сказать пишу. Стараюсь обходится сишкой, но приходится и его использовать, достаточно часто. :(
     
  11. Jin X

    Jin X Active Member

    Публикаций:
    0
    Регистрация:
    15 янв 2009
    Сообщения:
    250
    Адрес:
    Кольца Сатурна
    Ну вот обязательно надо нудеть, ы?! :this:

    Тссссс... :cools:

    Кстати, отсортировать вид результата никак нельзя по кол-ву голосов?
    Нет такого инструмента на форуме, случайно?
     
    Последнее редактирование: 18 янв 2018
  12. Jin X

    Jin X Active Member

    Публикаций:
    0
    Регистрация:
    15 янв 2009
    Сообщения:
    250
    Адрес:
    Кольца Сатурна
    Поскольку я не спец в "иных" архитектурах, есть вопрос: правильно ли я описал основные компиляторы под AVR, ARM...:
    • Flat Assembler G (fasmg)
    • Atmel AVR Assembler (это то же самое, что AVRASM/WAVRASM??? Или сейчас этого уже нет и это уже AVR GCC / avr-gcc называется???)
    • FASMARM (какие есть ещё ARM-ассемблеры???)
    Или как-то по-другому лучше было назвать эти пункты? Два последних из этого списка, по крайней мере.
    Или вообще есть что-то более популярное, что можно было бы добавить? :blush2:

    Мне вообще интересно, кто где использует ассемблер сейчас в "иных" архитектурах. Я имею в виду не название микроконтроллеров, а назначение, применение...
     
  13. Intro

    Intro Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    86
    Конечно MASM, скачал FASM но пока лень его изучать.
    Кстати, MASM достаточно забагован, нельзя использовать макрофункции в ELSEIF, так же ещё в .if макрофункции в сложных конструкция работают не правильно. Не хватает в .if операции с регистрами xmm. Если в макросе задаётся код через db, то такие макросы так же не работают правильно. И это только что я нашёл. И вспомнил.
     
  14. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.385
    Адрес:
    г. Санкт-Петербург
    Если будете писать под Linux, GAS - первое, с чем нужно будет познакомиться.
     
  15. Jin X

    Jin X Active Member

    Публикаций:
    0
    Регистрация:
    15 янв 2009
    Сообщения:
    250
    Адрес:
    Кольца Сатурна
    Да вот необязательно. Синтаксис AT&T крайне неудобен (непривычен). Ну что это за изврат: movl -0x10(%ecx,%edx,4),%eax (вместо mov eax,[ecx+edx*4-10h])? Единственный его плюс – не надо указывать размеры операндов (типа byte (ptr) и т.п.). А так вполне можно NASM'ом обойтись...
     
  16. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.385
    Адрес:
    г. Санкт-Петербург
    Код (Text):
    1.  
    2. .intel_syntax noprefix
    3.  
    вам в помощь

    А так, после пары недель кодинга вполне себе удобно читается, дело привычки.
     
  17. Jin X

    Jin X Active Member

    Публикаций:
    0
    Регистрация:
    15 янв 2009
    Сообщения:
    250
    Адрес:
    Кольца Сатурна
    Макросредства MASM (и TASM) – это вообще отдельная тема. Для танцев с ними нужен специальный бубен. Напоминает работу с параметрами и переменными в BAT-никах. Недавно столкнулся с тем, что если не задавать параметр /Cp (например, при компиляции из qeditor'а), то названия регистров XMM нужно обязательно писать заглавными буквами (OPTION CASEMAP:NONE не помогает), иначе он не поймёт что это такое. А уж про MASM64 я вообще молчу. Там вообще ничего нет, invoke прописан в temphls.inc, который написал кто-то из энтузиастов-программистов. И прологи не создаются, если процедура не имеет параметров и локальных переменных.

    Короче, единственная нормальная тема сейчас – это fasm. Правда, там не было поддержки режима x32 (64-битный код с 32-битной адресацией). Я писал на форум как-то про это, Томаш говорил, что это можно сделать пока только через fasmg, а чтобы добавить эту фичу в fasm , ему нужно убедиться, что там действительно разница в 1 элементе заголовка PE. Возможно, он уже добавил это в последних версиях, надо проверить...
     
  18. Jin X

    Jin X Active Member

    Публикаций:
    0
    Регистрация:
    15 янв 2009
    Сообщения:
    250
    Адрес:
    Кольца Сатурна
    Я понимаю, но в чём его преимущество перед NASM? Кроме того, что он уже есть в системе...
     
  19. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    7
    Регистрация:
    25 июн 2008
    Сообщения:
    2.697
    его ник на wasm.ru был s_d_f и прологи/эпилоги создаются с ключом OPTION PROLOGUE/OPTION EPILOGUE
    на masm32 есть еще 64 bit MASM SDK который пишет hutch-- там и invoke и .if/.else и т.п.
    Update07-01-2018.zip
     
    Jin X нравится это.
  20. Jin X

    Jin X Active Member

    Публикаций:
    0
    Регистрация:
    15 янв 2009
    Сообщения:
    250
    Адрес:
    Кольца Сатурна
    NASM тоже, конечно, в комплекте NASMX есть и include'ы, и invoke, proc.Правда, я особо не углублялся в эту тему – насколько там всё хорошо сделано... И не знаю, есть ли там x64.

    upd: есть 64 бита там, всё ok :)
     
    Последнее редактирование: 18 янв 2018