реклама на сайте
подробности

 
 
> Проблема с ассемблерными вставками
istok
сообщение Dec 12 2006, 23:19
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 18-01-06
Пользователь №: 13 313



Проблема с ассемблерными вставками.
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"); // А в этом случае, всё в порядке
.
.
.
}
Не знаю, что и делать…
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 1)
rezident
сообщение Dec 13 2006, 02:01
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(istok @ Dec 13 2006, 01:19) *
Не знаю, что и делать…

Ответ известен: пишите на СИ, контролируя ассемблерный код. Либо пишите отдельные функции целиком на ассемблере. О том, как правильно это делать, чтобы нормально поддерживалось компилятором, написано в руководстве к нему, которое можно вызвать через меню Help.
По ошибкам компилятора. Несмотря на то, что вы включили хидер msp430x11x1.h, компилятор Си ругается на якобы неизвестные ему объявления по той причине, что вы их не используете в самом Сишном исходнике. АСМ-овые вставки компилятор Си рассматривает как инлайн-функции и отдает "на съедение" ассемблеру и линковщику.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th June 2025 - 03:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01352 секунд с 7
ELECTRONIX ©2004-2016