2012-04-16 4 views
22

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

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

Если это какая-либо помощь, я наиболее удобен с Eclipse и Visual Studio 08/10 IDE.

+0

несколько зависит от предпочитаемого ОС - Windows? Linux? Mac OS X ? Другие ? –

+0

Что будет использоваться для Mac OS X? – Aristides

ответ

16

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 в соответствии с вашими требованиями.

+1

NASM также доступен для Windows. – stmax

+0

@stmax обновлен! спасибо :) –

+0

Спасибо, Паван. Существуют ли различия в синтаксисе? – user997112

0

Просто сказать об этом, RosAsm является окно только 32 бит ассемблера, который имеет несколько interresting точек как

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

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

Смежные вопросы