Что означает asm("stw r4, %0": "=m" (returnCode))? Ниос 2

asm("stw r4, %0": "=m" (returnCode)) 

Вышеупомянутый вызов сделан из c в Nios2, где код возврата является переменной в C. Я получаю stw-хранилища из одного регистра в другой или из памяти, но я не уверен, что представляют%0 или "=m".

1 ответ

Решение

Я почти уверен, что это встроенная сборка GCC, так что с учетом этого... И обратите внимание... Мои встроенные дни GCC давно позади, но...

stw Инструкция, которая будет выполнена

r4 Похоже на название регистра

%0 Относится к списку переменных / регистров / параметров после двоеточия

=m Это ограничение. =m означает ограничение операций на %0 в память пишет, если я правильно читаю документы.

Смотрите здесь для лучшего объяснения встроенной сборки GCC.

Другие вопросы по тегам