Как включить ассемблерный код в мой C-код в Turbo C? - PullRequest
0 голосов
/ 24 октября 2008

Как включить какие-либо строки кода сборки в мою программу на C?

В Turbo C есть возможность добавить файл кода сборки (.asm) в проект из нескольких файлов .c?

Ответы [ 4 ]

2 голосов
/ 24 октября 2008

Одним из способов включения кода сборки является добавление функции-оболочки и запись кода сборки в блок asm, как показано в примере ниже:

void wrapper_function()
{
    asm
    {
        /* your assembly code */
    }
}
1 голос
/ 24 октября 2008

Вы можете использовать свой make-файл для определения действий для различных типов целей. Для типов C (например, foo.c) вызывается компилятор C. Для файлов ASM вызовите ассемблер. Выходными данными любого из них должен быть объектный файл (например, .o), который может быть скомпилирован компоновщиком.

Если у вас есть небольшая сборка, продолжайте. В противном случае я рекомендую отдельные модули и функциональную декомпозицию как лучший способ управлять всем. Особенно, если вам нужно поддерживать разные цели (например, кросс-платформенная разработка).

0 голосов
/ 10 ноября 2010
void func()
{
asm://assembly statements...
asm://assembly statements...
...
}
0 голосов
/ 24 октября 2008

Вы также можете ссылаться в объектных файлах. Но встроенный ассемблер гораздо проще в обслуживании.

...