Асемблер в linux - stack overflow російською

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

заданий 23 Вересня '11 о 13:47

Вам потрібні binutils. У них є або as86 / ld86, або gas (GNU Assembler). Особливістю асемблера gas є використання ATT синтаксису. Тобто це означає наступне:

З іншого боку, цей синтаксис наближений до синтаксису асемблера на нормальних, "великих" машинах.

У gcc, до речі, кажучи використовується саме ATT синтаксис асемблера, так що дуже рекомендую його вивчити.

Найпопулярніший асемблер для лінукс - nasm. Ставиться apt-get install nasm. Книг по асемблеру в Лінуксі мало. Хороша книга по-англійськи Sivarama P. Dandamudi. Guide to Assembly Language Programming in Linux. Пошукай в інтернеті. Там описано, як працювати в насме, як компілювати, структура програми, синтаксис, а також загальні теоретичні поняття про роботу з пам'яттю, регістри процесора і т.д.

відповідь дан 23 Вересня '11 о 14:27

А відладчик який можете порадити? - Єгор Соколов 23 Вересня '11 о 18:56

gdb - skegg 23 Вересня '11 о 21:27

Як варіант є можливість використовувати вбудований асемблер GCC. приклад

відповідь дан 23 Вересня '11 о 16:33

Так, але все ж краще спочатку освоїти "самостійний" асемблер, а вже потім переходити до вбудованого. - skegg 23 Вересня '11 о 17:47

Варіант дуже хороший, обов'язково вивчу і його, але спочатку основи - Єгор Соколов 23 Вересня '11 о 19:17

Вельми корисний допоміжний інструмент для вивчення асемблера - gcc (так, Сі компілятор) з ключем -S виводить асемблерний код Сі програми. - avp ​​23 Вересня '11 о 21:08

Схожі статті