Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с ассемблерными вставками
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
istok
Проблема с ассемблерными вставками.
IAR 3.41a ругается так:

#include <msp430x11x1.h>
char flag;
void main(void)
{
.
.
.
asm("push.w &TAR"); // Error[Og005]: Unknown symbol in inline assembly: "TAR"

asm("mov.b &P1IN,&flag"); // Error[Og005]: Unknown symbol in inline assembly: "P1IN"

asm("mov.w @SP+,R11"); // А в этом случае, всё в порядке
.
.
.
}
Не знаю, что и делать…
rezident
Цитата(istok @ Dec 13 2006, 01:19) *
Не знаю, что и делать…

Ответ известен: пишите на СИ, контролируя ассемблерный код. Либо пишите отдельные функции целиком на ассемблере. О том, как правильно это делать, чтобы нормально поддерживалось компилятором, написано в руководстве к нему, которое можно вызвать через меню Help.
По ошибкам компилятора. Несмотря на то, что вы включили хидер msp430x11x1.h, компилятор Си ругается на якобы неизвестные ему объявления по той причине, что вы их не используете в самом Сишном исходнике. АСМ-овые вставки компилятор Си рассматривает как инлайн-функции и отдает "на съедение" ассемблеру и линковщику.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.