Подтвердить что ты не робот

ASM: MASM, NASM, FASM?

Я сделал программирование сборки ARM, и я хотел бы изучить Intel Assembler. Я продолжаю слышать все эти разные F/M/N/ASM, но я не уверен, как они связаны с тем, чего я хочу достичь?

Может кто-нибудь, пожалуйста, помогите мне определить, что мне нужно, чтобы научиться программировать низкий уровень в архитектуре Intel? Я не совсем понимаю, как "разные ассемблеры" коррелируют, тем более, с x86, IA64, AMD64/x86-64 и т.д.?

Если это поможет, мне удобнее использовать Eclipse и Visual Studio 08/10 IDE.

4b9b3361

Ответ 1

MASM (Microsoft Assembler) - популярный ассемблер для Windows. MASM предназначен для 16-разрядных и 32-разрядных приложений (x86). ML64 - для 64-разрядных источников (AMD64/x86-64)

NASM (Netwide Assembler) - популярный ассемблер для Linux, но доступен на Windows. NASM поддерживает 16-разрядные, 32-битные и 64-разрядные программы.

FASM (Flat Assembler) доступен как для Windows, так и для Linux. FASM также поддерживает как 32-разрядные, так и 64-разрядные программы.

Итак, я бы предпочел выбрать MASM в соответствии с вашими требованиями.

Ответ 2

Просто, чтобы рассказать об этом, RosAsm - это только 32-битный ассемблер, у которого есть несколько интересных точек, таких как

  • интегрированная среда IDE, которая самокомпилируется с доступным исходным кодом
  • вдохновленный NASM синтаксис
  • мощная макросистема для языкового дизайна высокого уровня.
  • особенности хранения исходного кода внутри созданных файлов .exe и .dll(в разделе PE).

Что касается поддержки 64 бит, у RosAsm нет ни одного, но один из ее участников в настоящее время работает над переписыванием 64 бит (BUAsm, ассемблер Bottom-Up)