Jump to content
Sign in to follow this  
Ineu

Асмовставки в gcc

Recommended Posts

Доброе время суток, панове!

Всех защитников с праздником!

Вопрос:

Как я понял, асмовставки в Си под gcc реализуются посредством ф-ии (макроса?)

asm (char *xxx),

где xxx - собсно сам код на АСМе. Вопрос состоит в следующем:

1. Существуют ли другие формы вставок АСМа в Си-код (типа

asm

{

...

}

) именно под gcc?

2. Можно ли заставить gcc использовать для той же ф-ии asm("...") вместо as'а че-нить поудобнее (nasm, например)?

3. Вопрос, вытекаюший из предыдущего: можно ли заставить

gcc -S ...

выдавать ассемблерный код в нотации не as'а, а того же насма? Если это требует патчей на gcc, то существуют ли соответствующие проекты (кроме "спроси Гугля" :))?

Заранее благодарен

Share this post


Link to post
Share on other sites

Цитата:

1. Существуют ли другие формы вставок АСМа в Си-код (типа

asm

{

...

}

) именно под gcc?

Насколько я знаю, нет.

Цитата:

2. Можно ли заставить gcc использовать для той же ф-ии asm("...") вместо as'а че-нить поудобнее (nasm, например)?

Нет. Но можно делать отдельные модули на NASM и линковать их с проектом. При этом, вместо асмовставок вызывать функции этих модулей, написанные на NASM.

Цитата:

3. Вопрос, вытекаюший из предыдущего: можно ли заставить

gcc -S ...

выдавать ассемблерный код в нотации не as'а, а того же насма? Если это требует патчей на gcc, то существуют ли соответствующие проекты (кроме "спроси Гугля" Smile)?

Есть же ndisasm в комплекте NASM. Конечно, он не слишком удобный код показывает, но всё же.

Share this post


Link to post
Share on other sites

Цитата:

Нет. Но можно делать отдельные модули на NASM и линковать их с проектом. При этом, вместо асмовставок вызывать функции этих модулей, написанные на NASM.

Так и приходится делать... Но функции - они функции и есть, если необходимо работать с локальными переменными Си-функции на АСМе, это уже не очень удобно...

Ну что ж... будем искать Smile

Share this post


Link to post
Share on other sites

Цитата:

У gas'а тоже синтаксис нормальный, хотя и непривычный жутко.

Эт точно. Жутко Smile

Если возникнет необходимость, то придется, конечно, привыкать, но пока мне Интел-синтаксис ближе Wink

К тому же тот же НАСМ - субъективно - сам по себе удобней в использовании. Но это, как и все субъективное, скорее всего не так Smile))

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...