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

 
 
> C+ASM - помогите, Не понимаю, чего ему не нравится
Kitsok
сообщение Mar 5 2008, 05:45
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 9-11-06
Пользователь №: 22 136



Всем приветы!

Ткскзть двое суток без сна, не могу победить простую вещь.

Имеется IAR 4.41, пытаюсь сделать ассемблерную вставку, не выходит:

Код
static inline portDISABLE_INTERRUPTS(void)
{      
  asm (" STMDB    SP!, {R0}");
  asm (" MRS    R0, CPSR");
  asm (" ORR R0,R0,#0x80");
  asm (" MSR CPSR,R0");
  asm (" LDMIA    SP!, {R0}");
}


В ответ получаю
Код
Error[Og006]: Syntax error in inline assembly: "Error[401]: Operand syntax error" c:\PTJoy\new\firmware\ptjoy\FreeRTOS\Source\portable\IAR\SAM7S256\portmacro.h 93
Error[Og006]: Syntax error in inline assembly: "Error[401]: Operand syntax error" c:\PTJoy\new\firmware\ptjoy\FreeRTOS\Source\portable\IAR\SAM7S256\portmacro.h 94
Error[Og006]: Syntax error in inline assembly: "Error[401]: Operand syntax error" c:\PTJoy\new\firmware\ptjoy\FreeRTOS\Source\portable\IAR\SAM7S256\portmacro.h 95


По-хорошему, нужно делать #define'ом, но там то-же самое, только без номеров строк wink.gif

Ткните пожалуйста, что я делаю не так. Процессор - ARM7.

Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
GetSmart
сообщение Mar 5 2008, 14:04
Сообщение #2


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(Сергей Борщ)
Цитата(repairDV @ Mar 5 2008 @ 14:35)
А этот ассемблер, который внутри процедуры Си, полнофункциональный? Условные - безусловные переходы на метки поддерживает?
Нет. Это даже не ассемблер, а так, некий костыль чтобы вставить NOP.
Странно. У меня поддерживал всегда. Постоянно оптимизированные циклы строчил на асме. IAR 4.20.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
repairDV
сообщение Mar 5 2008, 14:15
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 578
Регистрация: 7-11-06
Из: Хабаровск
Пользователь №: 22 044



Цитата(GetSmart @ Mar 6 2008, 00:04) *
Странно. У меня поддерживал всегда. Постоянно оптимизированные циклы строчил на асме. IAR 4.20.

Это хорошо. У меня, правда, IAR для NEC. Простеньких, только для датчиков давления. Но, может быть, придётся по-серьёзному с ним работать.
Для примера: CodeWarrior позволяет писать полнофункциональные программы в ассемблере внутри Си-функций. Очень удобно. Стиль написания приблизительно похож на тот, который здесь приводился.


--------------------
Маленький нанайца. А-а. А-а. Оморочком плыл. Маленький проточка. Осетра ловил.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Kitsok   C+ASM - помогите   Mar 5 2008, 05:45
- - tag   Код asm (" MRS R0, CPSR"); asm ...   Mar 5 2008, 06:31
|- - Kitsok   Цитата(tag @ Mar 5 2008, 09:31) В этих ко...   Mar 5 2008, 06:46
- - IgorKossak   Ассемблерную строку надо заканчивать символом ...   Mar 5 2008, 07:05
|- - Kitsok   Цитата(IgorKossak @ Mar 5 2008, 10:05) Ас...   Mar 5 2008, 07:08
|- - Andy Mozzhevilov   Цитата(Kitsok @ Mar 5 2008, 12:08) Ошибки...   Mar 5 2008, 07:15
- - IgorKossak   Взял Вашу функцию один к одному, скомпилировал, ни...   Mar 5 2008, 07:21
|- - Kitsok   Цитата(IgorKossak @ Mar 5 2008, 10:21) Вз...   Mar 5 2008, 07:31
- - Andy Mozzhevilov   более правильный код для запрещения прерываний на ...   Mar 5 2008, 07:35
|- - Kitsok   Цитата(Andy Mozzhevilov @ Mar 5 2008, 10...   Mar 5 2008, 07:54
|- - Сергей Борщ   Цитата(Andy Mozzhevilov @ Mar 5 2008, 09...   Mar 5 2008, 10:08
|- - Kitsok   Вот на этом while'е оно и встанет Точка с зап...   Mar 5 2008, 11:33
|- - Сергей Борщ   Цитата(Kitsok @ Mar 5 2008, 13:33) Вот на...   Mar 5 2008, 12:41
- - Andy Mozzhevilov   Не могу сейчас быстро найти соответсвующий раздел ...   Mar 5 2008, 08:15
- - repairDV   А этот ассемблер, который внутри процедуры Си, пол...   Mar 5 2008, 12:35
- - Сергей Борщ   Цитата(GetSmart @ Mar 5 2008, 16:04) Нет....   Mar 5 2008, 15:44


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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 12:18
Рейтинг@Mail.ru


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