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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
oll
сообщение Oct 26 2005, 11:08
Сообщение #16


Частый гость
**

Группа: Участник
Сообщений: 163
Регистрация: 10-10-05
Пользователь №: 9 463



Я делал типа
register unsigned char tyty asm("r4");
- работает - есть в описании- avr-libc-user-manual-1.2.3.pdf
Go to the top of the page
 
+Quote Post
xyzzy
сообщение Oct 28 2005, 06:33
Сообщение #17


Частый гость
**

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



Цитата(Vic1 @ Oct 26 2005, 01:12)
register int *foo asm (“a5”);
*


Только аккуратно надо с этим быть.
Если слишком много регистров явно отдано под переменные, то компилятору становится сложнее (а иногда и невозможно) сгенерировать корректный код.

Особенно это заметно, если регистровые переменные 16-битные. и под них отданы регистровые пары X,Y,Z

Компилятор после этого регулярно разваливается со внутренней ошибкой. blink.gif


--------------------
--xyzzy
Go to the top of the page
 
+Quote Post
Виктория
сообщение Oct 28 2005, 08:11
Сообщение #18


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Цитата(xyzzy @ Oct 28 2005, 11:33)
Цитата(Vic1 @ Oct 26 2005, 01:12)
register int *foo asm (“a5”);
*


Только аккуратно надо с этим быть.
Если слишком много регистров явно отдано под переменные, то компилятору становится сложнее (а иногда и невозможно) сгенерировать корректный код.
...
*



Вообще то, я тоже против явного использования регистров, в большинстве случаев (99.9% excl.gif ) достаточен мой первый совет.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 13:45
Рейтинг@Mail.ru


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