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

 
 
> Загадочное число $20 при обращении к РВВ
serg_42
сообщение Jun 12 2012, 04:38
Сообщение #1





Группа: Участник
Сообщений: 9
Регистрация: 26-09-11
Из: Новокузнецк
Пользователь №: 67 380



В книге А.В.Евстифеева "Микроконтроллеры AVR семеййства Tiny и Mega фирмы ATMEL"
на странице 391 есть любопытный абзац:

"Необходимо только помнить, что если для обращения к регистру
ввода/вывода используется команда обмена с ОЗУ, то к символическому
имени требуется добавить число $20".





Сам понять смысл этого действа не смог...
Растолкуйте, пожалуйста, зачем и почему?
Для чего таки надо добовлять эти самые $20 к имени РВВ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SSerge
сообщение Jun 14 2012, 13:57
Сообщение #2


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

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Помнится, эти танцы с бубном вокруг регистров IO меня удивили ещё при первом знакомстве с AVR.

Нет, чтобы как все нормальные люди, определить в .inc эти регистры как адреса памяти, а ассемблер научить при обработке команд обращения к IO регистрам самостоятельно вычитать эти $20 и помещать результат в соответствующее 5-битное поле в команде.
Тогда эти определения можно смело использовать повсюду в программе, в любых командах, а про несчастные $20 вообще нигде ни писать в программе ни упоминать в документации нет необходимости, разве что при описании формата команд.
Да ещё и проконтролировать можно будет, выдать ошибку при попытке использовать IO-команды для доступа к регистрам за пределами области IO.
Вместо этого какой-то цирк с конями на ровном месте.


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post



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

 


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


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