[an error occurred while processing this directive]
Вы прежде чем херню говорить прочитайте описание
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Явно сказано, что область data только первые 128 байт, а idata адресуемая indirect, то есть через @r0, @r1 и была введена, чтобы адресоваться к адресам старше 0x80.
Хотя idata и применима к младшим адресам ОЗУ, но применять ее в таком варианте нонсенс, так как из-за особенностей реализации языка C для MCS-51 от Keil наилучший результать по быстродействию и компактности кода даст обычное объявление массивов bla[10] в области data. Повторюсь, что объявление области idata имеет практический смысл только для адресов старше 0x80.
Составить ответ
|||
Конференция
|||
Архив
Ответы
- Милый, Вы Keil зуб пробовали? "Хотя idata и применима к младшим адресам ОЗУ..." - единственная фраза нормального человека! А повторять ахинею не надо! Если не указать начальный адрес idata как 0x80 в опциях проекта, то Keil, будет лепить переменные idata и в data сегменте! Вопрос-то был не о быстродействии (ему, может, быстродействие не к чему), а Вы человека в заблуждение вводите. Да где угодно можно применять _at_, и в data, idata, pdata, xdata, лишь бы место было в сегменте. — New__body (21.12.2002 22:21, пустое)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru