Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > asm


Автор: xach 22.2.2005, 20:20
Привет друзья!
Как сделать ассемблерную вставку в линуксе, а то стандартная виндоусовская конструкция
asm
{

}

не помогает...
???

Автор: S.A.P. 22.2.2005, 20:27
Помню в борланде был такой глюк, именно с оператором asm. Надо было писать так:
Код

asm {
. . . .
}


то есть asm и { на одной строчке.

вот не знаю, может так и надо было?
Добавлено @ 20:30
Хотя вот что пишет Страуструп
Код

Оператор asm имеет вид

    asm ( строка);



Смысл оператора asm не определен. Обычно он используется для передачи информации через компилятор ассемблеру.

Автор: oleg1973 22.2.2005, 22:05
Код

___asm__ ("movl %eax, %ebx\n\t"
       "movl $56, %esi\n\t"
       "movl %ecx, $label(%edx,%ebx,$4)\n\t"
       "movb %ah, (%ebx)");

видимо так ?
взято из howto smile
тока останется еще АТ синтаксис подучить smile)))

Автор: xach 2.3.2005, 12:26
Уфф!!!
Согласен синтаксис можно и подучить, но
всё-таки...
Тогда встречный:
А как с помощью nasm`a или Линух fasm`a
сделать библиотечку для использования в C++, и как
её описать уже в C++ для дальнейшего пользования
Только пожалуйста поподробней...

smile

Автор: oleg1973 2.3.2005, 12:53
в насме не знаю

в фасме указать в самом исходнике
format ELF
ехпортируемые функции описваются как
public my_func
и сама функция как
proc my_func
enter
тут сам код
return
endp

Код

format ELF

public func

proc func
    enter
    return
endp                        

после компиляции получим файл с расширением О
что является обьектным файлом который можно слинковать с основной прогой

Автор: JackYF 16.10.2006, 17:50
Народ, в дополнение к теме:

Нужно кое-какие вещи запрограммить на Ассемблере. Желательно, чтобы этот код мог компилироваться и под Windows, и под Unix.

Вышеназваные вещи ИМХО плохо применимы, особенно из-за AT - синтаксиса - я его пробовал разобрать, но там черет ногу сломит.

Я слышал про директиву компилятора GCC, которая вроде бы врубает компиляцию Intel- синтаксиса. Никто ничего об этом не знает?

Автор: unixman 18.10.2006, 10:28
iakovlev.org -- там неплохо про ассемблер написано в Linux. И вообще неплохие сведения о программировании в Linux

Автор: JackYF 27.10.2006, 19:20
unixman, сенкс за ссылку... будем смотреть...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)