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

 
 
> Как прочитать РОН в WinAVR?
Charoit
сообщение Jan 28 2010, 15:10
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 10-10-07
Пользователь №: 31 217



Поиском не нашел, решил задать вопрос..
Как на сях в WinAVR можно прочитать содержимое регистра, например R0?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ReAl
сообщение Jan 28 2010, 16:47
Сообщение #2


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(Charoit @ Jan 28 2010, 17:10) *
Как на сях в WinAVR можно прочитать содержимое регистра, например R0?
Хотел там мяукнуть, но обленился. Тут спрошу - а зачем?
Не подколки ради, просто чтение регистра из С ведь не самоцель.
Опишите задачу.
Тогда будет понятно, что советовать.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
manul78
сообщение Jan 28 2010, 17:45
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Цитата(ReAl @ Jan 28 2010, 19:47) *
Хотел там мяукнуть, но обленился. Тут спрошу - а зачем?


Действительно, зачем !? Ради праздного любопытства ? Для отладки ?


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jan 28 2010, 20:24
Сообщение #4


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(manul78 @ Jan 28 2010, 19:45) *
Действительно, зачем !? Ради праздного любопытства ? Для отладки ?
Особенно учитывая то, что именно R0 - это временый регистр __temp_reg__ компилятора, он же используется в команде mul и его и зарезервировать нельзя, вся работа компилятора обломается.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
manul78
сообщение Jan 28 2010, 20:48
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 403
Регистрация: 14-05-07
Из: Россия, г.Пенза
Пользователь №: 27 719



Цитата(ReAl @ Jan 28 2010, 23:24) *
Особенно учитывая то, что именно R0 - это временый регистр __temp_reg__ компилятора, он же используется в команде mul и его и зарезервировать нельзя, вся работа компилятора обломается.


Кстати, WinAVR оперирует буквально 4-6 РОН и PUSH-ит их постоянно, остальные РОН пустуют.
У меня несколько раз было, что "борода" стека рушила данные в SRAM...
Я лично, всегда проверяю откомпиленный WinAVR код. Бывает придраться не к чему, а бывает наворочает мама не горюй.
Заметил, что более ранние версии давали более компактный код. На эту тему здесь уже был разговор. Сошлись, на том, что
большой код - высокая производительность, маленький код - низкая производительность... smile.gif


--------------------
" Многие вещи нам непонятны не потому, что наши понятия слабы; но потому, что сии вещи не входят в круг наших понятий." (с) К.Прутков.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 28 2010, 21:15
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(manul78 @ Jan 28 2010, 22:48) *
Заметил, что более ранние версии давали более компактный код. На эту тему здесь уже был разговор.
на новых версиях, играясь с новыми ключами оптимизации, получаю более компактный код чем на версиях 2006-2007гг.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Aesthete Animus
сообщение Jan 29 2010, 07:42
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 222
Регистрация: 9-06-07
Пользователь №: 28 317



Цитата(Сергей Борщ @ Jan 29 2010, 00:15) *
на новых версиях, играясь с новыми ключами оптимизации...

А Вы не могли бы привести пример такой игры?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 29 2010, 08:32
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Aesthete Animus @ Jan 29 2010, 09:42) *
А Вы не могли бы привести пример такой игры?
В ветке, посвященной WinAVR20100110 и в соседней. Просто комментирую один ключ, компилирую, смотрю результат. Если код уменьшился - так и оставляю, если увеличился - возвращаю назад. И так пару итераций. "Играюсь" так, когда почти вся программа написана, таким образом удается найти оптимальное сочитание имеенно под конкретную программу, ее стиль.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Charoit   Как прочитать РОН в WinAVR?   Jan 28 2010, 15:10
- - manul78   Цитата(Charoit @ Jan 28 2010, 18:10) Поис...   Jan 28 2010, 15:22
|- - Charoit   Цитата(manul78 @ Jan 28 2010, 18:22) Можн...   Jan 28 2010, 15:26
|- - manul78   Цитата(Charoit @ Jan 28 2010, 18:26) Мне ...   Jan 28 2010, 16:07
|- - Charoit   Цитата(ReAl @ Jan 28 2010, 19:47) Хотел т...   Jan 29 2010, 09:31
|- - _Pasha   Цитата(Charoit @ Jan 29 2010, 12:31) что ...   Jan 29 2010, 10:13
|- - Charoit   Цитата(_Pasha @ Jan 29 2010, 13:13) Дык.....   Jan 29 2010, 11:18
- - ReAl   Цитата(Charoit @ Jan 29 2010, 11:31) pgm_...   Jan 29 2010, 13:35
- - Charoit   Кстати, в файле pgmspace.h есть макроопределения д...   Feb 1 2010, 13:23
|- - Палыч   Цитата(Charoit @ Feb 1 2010, 16:23) А как...   Feb 1 2010, 13:57
|- - Charoit   Цитата(Палыч @ Feb 1 2010, 16:57) Наверно...   Feb 1 2010, 14:30
- - Charoit   Не получается писать в память программ Для начала ...   Feb 10 2010, 14:30
- - Палыч   Цитата(Charoit @ Feb 10 2010, 17:30) Не п...   Feb 11 2010, 07:26


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

 


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


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