Существует ли бесплатный небольшой сборочный код компилятора / ассемблера для Windows? - PullRequest
0 голосов
/ 24 января 2011

Мне нужно что-то вроде g ++, где я могу набрать:

compiler_name my_assembly_code.extention

... и заставить его скомпилировать мой ассемблерный код.Неважно, 32 это или 64 бит.Просто должен быть для Windows.

Кто-нибудь знает, что я могу получить, который делает это?Я также открыт для других предложений, я просто хочу избежать использования MS Visual Studio для этого.

Ответы [ 3 ]

8 голосов
/ 24 января 2011

Есть много.

Все они способны генерировать PE-файлы. Однако, чтобы сделать это, вам нужно понять режим работы, требуемый указанным ассемблером. Например, можно полностью использовать каждый ассемблер для генерации obj-файлов для компоновки, или вы можете написать чистый двоичный вывод. Если вы сделаете это, вам нужно будет создать соответствующий исполняемый заголовок.

Плоский ассемблер предоставляет директиву FORMAT PE (см. здесь ), которая значительно упрощает этот процесс.

3 голосов
/ 24 января 2011

(Почти) любой нормальный дистрибутив g ++ будет / должен включать копию gas, GNU Assembler.В зависимости от того, какой дистрибутив вы получаете, используемая вами команда может быть as или gas (а некоторые включают оба).

К сожалению, по крайней мере в последний раз, когда я пробовал ее, gas было довольноошибок.Он прекрасно работает для кода, сгенерированного gcc / g ++, но если вы сильно отойдете от того, что он может / действительно производит, вы можете столкнуться с множеством проблем.Это, однако, было некоторое время назад, поэтому эти проблемы, возможно, были исправлены - я точно не знаю.

Есть также немало альтернатив. NASM , вероятно, наиболее широко используется и обновляется (например, для новых наборов команд) достаточно надежно.

0 голосов
/ 24 января 2011

Я лично использую TASM , мне проще, чем MASM.

...