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

 
 
> Котострафически нехватает регистров!, компилятор - AVRStudio
Potter
сообщение Jul 2 2006, 09:32
Сообщение #1


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

Группа: Участник
Сообщений: 151
Регистрация: 27-05-06
Из: Харьков
Пользователь №: 17 508



Использую регистры r16-r31.... Думал еть еще 3 парных регистра ZH,ZL,YH,YL,XH,XL.... Халява не прошла эти регистры фактически являются регистрами r26-r31..... парные регистры в программе используются..... для работы остаются регистры r16-r25 -- 10 регистров...... я на асме только только стал писать..... но как по мне 10 регистров для работы маловато..... есть еще регистры r0-r15.... но компилятор не дает ими пользоваться.... подскажите что делать??? может можно как-то использовать регистры r0-r15???


Извените пожалуйста две темы случайно создал..........

Сообщение отредактировал Potter - Jul 2 2006, 09:35
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
beer_warrior
сообщение Jul 2 2006, 09:48
Сообщение #2


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

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



1. Регистрами r0-15 тоже можно пользоваться, в них просто нельзя записывать непосредственные данные. r0 еще используется вместе с X-Z, будте внимательны.
2.Существует памятьи все хранится там. Регистры используются для операций над данными. Из опыта скажу, что в большинстве случаев вполне хватает 3-х регистров и одной регистровой пары.
(2 all просьба камни не кидать 16/32 битная арифметика и плавающая точка не имеется в виду smile.gif )


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
Potter
сообщение Jul 2 2006, 10:01
Сообщение #3


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

Группа: Участник
Сообщений: 151
Регистрация: 27-05-06
Из: Харьков
Пользователь №: 17 508



Цитата(beer_warrior @ Jul 2 2006, 12:48) *
1. Регистрами r0-15 тоже можно пользоваться, в них просто нельзя записывать непосредственные данные. r0 еще используется вместе с X-Z, будте внимательны.
2.Существует памятьи все хранится там. Регистры используются для операций над данными. Из опыта скажу, что в большинстве случаев вполне хватает 3-х регистров и одной регистровой пары.
(2 all просьба камни не кидать 16/32 битная арифметика и плавающая точка не имеется в виду smile.gif )


Что значит непосредственные? И какие данные можно вообще записывать в регисторы r0-15?
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Jul 2 2006, 10:08
Сообщение #4


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

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



Цитата
Что значит непосредственные? И какие данные можно вообще записывать в регисторы r0-15?

Непосредственные(immediate) - константы из кода, команда LDI.
Можно писать: результаты операций, данные из памяти.(MOV, LDS ...)
Вообще-то если так туго, советую взять любую аппноту и руководство по асму и посидеть поразбирать.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
_artem_
сообщение Jul 2 2006, 10:14
Сообщение #5


учащийся
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 29-10-05
Из: города контрастов
Пользователь №: 10 249



Не понял истоки киськастрофической нехватки регистров.
Посмотрите примеры из application notes и попросите модератора чтобы исправил название темы.


--------------------
Зачем лаять на караван , когда на него можно плюнуть?

Go to the top of the page
 
+Quote Post
TriD
сообщение Jul 3 2006, 06:22
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 252
Регистрация: 29-12-04
Пользователь №: 1 728



beer_warrior +1
Для хранения переменных следует использовать память.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jul 3 2006, 11:36
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(TriD @ Jul 3 2006, 09:22) *
beer_warrior +1
Для хранения переменных следует использовать память.


Всегда катастрофически хватает регистров. smile.gif Особенно при пользовании "компилятором" AVR Studio (называемом в простонародье ассемблером).

В критических случаях можно использовать память а также использовать п/п где при входе/выходе сохранять/восстанавливать регистры.

Для задач управления внешняя память практически не используется. Разве что для реализации буферов, которые прекрасно организуются с помощью косвенной автоинкрементной адресации.

Короче подучите ассемблер, и всё получится! smile.gif
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jul 3 2006, 12:52
Сообщение #8


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Многие специалисты считают как раз наоборот, что у AVR катастрофически много регистров. wink.gif
Go to the top of the page
 
+Quote Post
_Bill
сообщение Jul 3 2006, 13:02
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(IgorKossak @ Jul 3 2006, 15:52) *
Многие специалисты считают как раз наоборот, что у AVR катастрофически много регистров. wink.gif

Я как раз того же мнения. Вполне хватило бы и половины имеющихся.
Go to the top of the page
 
+Quote Post

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

 


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


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