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

 
 
> отключение анализа inline asm в EW AVR
aiwa
сообщение Dec 13 2015, 21:55
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682



Существующий проект для 6.10 при компиляции в 6.60 выдает ошибку:
asm("label_1: \n");
asm(" SBIS 0x0E, 0x07 \n");
asm(" RJMP label_1 \n");
Error[Og005]: Unknown symbol in inline assembly: "label_1"
Error[Og006]: Error in inline assembly: "Error[54]: Expression can not be forward"

Если возможность отключения анализа inline-инструкций?

Предлагаемый шведами вариант
asm("label_1: \n
" SBIS 0x0E, 0x07 \n
" RJMP label_1 \n");
нежелателен.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aiwa
сообщение Dec 14 2015, 13:43
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682



Цитата(KRS @ Dec 14 2015, 13:56) *
дело тут не в анализе, а в метке, нельзя глобальные метки оставлять в инлайн асме!
а каждый asm(".... оператор - отдельный, поэтому jmp между ними не сделать.

Метка локальная.
Пример взят из совершенно рабочего проекта, компилируемым версией 6.10.1:
asm-инструкции относительных переходов с метками он копипастил напрямую.
А в более поздних решили анализировать, совершенно не озадачивая себя вопросом
совместимости.

Вопрос снят.
Go to the top of the page
 
+Quote Post



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

 


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


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