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

 
 
> WinAVR + asm, Многострочные asm вставки. как?
Labinskiy Nikola...
сообщение Aug 25 2006, 17:15
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 27
Регистрация: 5-07-06
Из: Украина, Донецк
Пользователь №: 18 606



Как можно вставить в исходник на Си asm вставку в несколько строк?
Получилось только по одной команде в стиле asm ("nop"), а мне нужно написать целый цикл опроса датчиков, по одной команде оч некрасиво и неудобно, как сделать?


--------------------
If you can't make it good - don't make it look good ;)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
beer_warrior
сообщение Aug 26 2006, 07:38
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



1.Тут надо смотреть, чтобы не зацепить регистры уже используемые компилятором. В доке есть описание, какие и как используються.
Поэому наиболее безопасно пойти путем (2).
Как компромис можно сделать функии с С вызовом и ассемблерным телом
Код
int foo(char)
{
asm{.......}
}

Тогда работу со стеком берет на себя компилятор, а логику работы программист.
Впрочем напоследок скажу - gcc оптимизирует достаточно хорошо, и ввязываться в изыски с асмом особой надобности нет. Напишите функцию на С, скомпилируйте и просмотрите листинг - в 90% случаев выкинуть оттуда будет нечего.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post



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

 


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


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