|
General Purpose I/O Register |
|
|
|
Oct 28 2011, 11:39
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Всем , привет!
Кто нибудь , когда нибудь использовал эти регистры. В DS инфы по ним 0 (нуль). Отличненькое местечко , что бы хранить SREG ( вместо SAVESREG ) + SPH+SPL для много задачных программ. Но как то стрёмно , не понимая на ... они нужны. Для тех , кто срочно начнёт искать их в своих процах , учтите , что они есть не везде. Что тоже настораживает.
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Oct 28 2011, 12:27
|

4 синих кубика
   
Группа: Участник
Сообщений: 526
Регистрация: 19-09-08
Из: полупроводника, металла и стекла
Пользователь №: 40 326

|
Я использую один из них для хранения результатов различных тестов. В ИАРе объявляю так: Код #pragma location=0x33// (GPIOR0); __no_init char errors; Компилятор при работе с битами этого регистра использует команды sbi, cbi.
--------------------
p-n-p-p-n-p-n-n-p-n-p структура однако очень эффективна
|
|
|
|
|
Oct 28 2011, 12:33
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
QUOTE (МП41 @ Oct 28 2011, 16:27)  Я использую один из них для хранения результатов различных тестов. В ИАРе объявляю так: CODE #pragma location=0x33// (GPIOR0); __no_init char errors; Компилятор при работе с битами этого регистра использует команды sbi, cbi. Ну раз они в области ввода\вывода , то по идее , на них распростроняются все команды относящиеся к этому пространству памяти. OUT IN SBIS SBIC и выше перечисленные.
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Oct 29 2011, 12:37
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Замечательно работает , и не надо помнить последовательность загрузки регистров , главное не перепутать какой куда. Хорошо избавляют от push ,когда надо не много затолкнуть. QUOTE (МП41 @ Oct 28 2011, 16:40)  Речь о том, что компилятор "сообразил" и сделал как надо, хотя мог и через st, ld сделать обращение ради изменения одного бита. Хвала разработчикам компилятора! Аминь..
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Jan 26 2012, 19:14
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(zombi @ Jan 26 2012, 00:24)  Максимум 16 тактов можем выиграть. Почему на два множить!? На каждом push - один такт и на каждом pop - ещё один такт
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Jan 27 2012, 19:19
|

Местный
  
Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530

|
Цитата(ILYAUL @ Oct 28 2011, 14:39)  Кто нибудь , когда нибудь использовал эти регистры. В DS инфы по ним 0 (нуль). В зависимости от компилятора. ИАР ДЖПИОР регистры не исспользует на своё предусмотрение, кодэвижн вроди бы размещает в них битовые переменные.
--------------------
нельзя недооценивать предсказуемость глупости
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|