Страницы

Поиск по вопросам

среда, 31 октября 2018 г.

Ассемблер в Linux

Доброго времени суток, уважаемые гуру! Возникла необходимость обучиться ассемблеру, а работать в Windows на старом хламе в универе не хочется, поэтому выбирают ноут с установленной Ubuntu 11.04. Подскажите пожалуйста какие пакеты мне необходимо установить для написания программ на ассеблере, а также как собирать и компилировать это проги из консоли? В дальнейшем планируется связать ассемблер с C++, что для этого нужно и какую литературу необходимо почитать?


Ответ

Вам нужны binutils. В них есть или as86/ld86, или gas (GNU Assembler). Особенностью ассемблера gas является использование AT&T синтаксиса. Т.е. это означает следующее: прямой порядок операндов (т.е. src, dst, а не наоборот, как на платформе Wintel); все инструкции ассемблера имеют суффикс, определяющий размер операндов. например, movb. Никаких ужасных конструкций вроде dword ptr как в TASM/MASM:-) другой (чем у MASM/TASM) формат адресации и многое другое С другой стороны, этот синтаксис приближен к синтаксису ассемблера на нормальных, "больших" машинах. В gcc, кстати, говоря используется именно AT&T синтаксис ассемблера, так что очень рекомендую его изучить.

Комментариев нет:

Отправить комментарий