У меня есть эта часть кода, который был составителя использованием ARMASM:рядный ASM с НКУ
/* Software Interrupt */
/* we must save lr in case it is called from SVC mode */
#define ngARMSwi(code) __asm { SWI code,{},{},{lr} }
пример использования: ngARMSwi (0x23);
Я пытаюсь преобразовать это, чтобы скомпилировать его с помощью gcc (code sourcery GCC-4.6.2 eabi). Я нашел эту ссылку http://www.ethernut.de/en/documents/arm-inline-asm.html, но я не могу найти способ скомпилировать эту строку правильно.
моя лучшая попытка является
#define ngARMSwi(code) __asm__ ("SWI " (code) : : :"lr")
, но я получаю компиляции ошибка:
error: expected ':' or ')' before '(' token
Любая помощь приветствуется!
Большое спасибо! Этот код компилируется ... Я просто должен убедиться, что он делает то же самое, что и раньше! –