Ссылка на сборку Linux - PullRequest
       30

Ссылка на сборку Linux

1 голос
/ 19 августа 2010

Я читаю книгу «Профессиональный ассемблерный язык» с примером кода, написанного для процессоров Intel IA-32. Используется ассемблер GNU Assembler. Где я могу найти ссылку на эту сборку? Например, при написании Assembly for Windows я могу найти ссылку на веб-сайте Intel. А как насчет Linux и GNU Assembler?

Ответы [ 4 ]

2 голосов
/ 19 августа 2010

Ассемблер зависит только от процессора, а не от ОС.Таким образом, документы на стороне Intel - это то, что вы ищете.

Если вы хотите вызывать функции ОС, вы должны прочитать документы ABI компилятора (которые объясняют, как передавать аргументы и как обрабатывается возвращаемое значение).Кроме того, вам нужен список функций, которые вы можете найти на страницах man вашего Linux-бокса.

Для начала я предлагаю скомпилировать программу на языке высокого уровня, например C, в ассемблер, чтобы увидеть, что происходит,Просто вызовите gcc -S file.c вместо gcc -c file.c.

1 голос
/ 19 августа 2010
1 голос
/ 19 августа 2010

Википедия ссылается на это: http://sourceware.org/binutils/docs-2.20/as/

0 голосов
/ 24 августа 2010

Если вы работаете с книгой по Intel IA 32, вам следует попытаться получить руководства по набору инструкций с сайта Intel http://developer.intel.com/products/processor/manuals/index.htm Я думаю, что вы будете использовать это как полный справочник для инструкций.

Кроме того, ссылка на язык ассемблера для linux и windows будет одинаковой, если они установлены на одной и той же архитектуре, поскольку язык ассемблера зависит от архитектуры. При использовании процессора Intel используется ссылка на набор инструкций intels.

Для синтаксиса вашей ассемблерной скважины вы должны проверить прилагаемое руководство к gnu

http://sourceware.org/binutils/docs-2.20/as/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...