Собственно сабж.
Читал тут и про NASM и про GAS, вроде как и в GCC есть встроенный ассемблер, только не понял на каком синтаксисе основан.
В общем я больше склоняюсь к NASM, основан на синтаксисе Intel, вроде не так плохо.
Но вот не могу найти информации о программировании x86_64 (amd64), везде речь идет только о x86.
В дальнейшем интересует программирование под ARM.
В общем поделитесь опытом :cool:
Посветуйте Assembler for Linux
Но вот не могу найти информации о программировании x86_64 (amd64), везде речь идет только о x86.
ИМХО на асме под x86-64 никто(ну или почти ни кто) не программирует... отличается только набором доп инструкций и 64-мя битными регистрами. Про всё это написано например в документации.
под всякие армы - тоже проще на си (опять же ИМХО).
Гм. А вот еще отрыл некий FASM, поддержка x86_64 чуть ли не с 2005 года oO
Но синтаксис от NASM отличается, в отличии от предложенного выше YASM.
ИМХО на асме под x86-64 никто(ну или почти ни кто) не программирует...
Мм... Думаешь оптимизировать код на С под x86_64 ассемблером - бред? :)
В дальнейшем интересует программирование под ARM.
Лучше сразу с этого начинать, а АСМ для x86(_64) использовать только для дебага.
Мне нравится FASM:
1) генерирует и 32 bit (x86), и 64 bit (x64) код
2) простой и удобный синтаксис
3) кроссплатформенный, есть версии для DOS, Windows и Linux
Но синтаксис от NASM отличается
Тот же Intel синтаксис.
Используй gas, он intel синтаксис знает также хорошо как и at&t
gcc использует gas