[an error occurred while processing this directive] [an error occurred while processing this directive]
SFR и верхняя IDATA - физически разные памяти
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Алехин Александр 26 октября 2001 г. 14:38
В ответ на: И тем не менее он прав в этом вопросе: косвенно адресовать SFR низзя - "проверено електроникой":)) (+) отправлено Peet_on_B3 26 октября 2001 г. 12:45

Вот фрагмент PDF на AT89S8252, страница 9:
Думаю перевод не нужен.
The AT89S8252 implements 2K bytes of on-chip EEPROM
for data storage and 256 bytes of RAM. The upper 128
bytes of RAM occupy a parallel space to the Special Func-tion
Registers. That means the upper 128 bytes have the
same addresses as the SFR space but are physically sepa-rate
from SFR space.
When an instruction accesses an internal location above
address 7FH, the address mode used in the instruction
specifies whether the CPU accesses the upper 128 bytes
of RAM or the SFR space. Instructions that use direct
addressing access SFR space.
For example, the following direct addressing instruction
accesses the SFR at location 0A0H (which is P2).
MOV 0A0H, #data
Instructions that use indirect addressing access the upper
128 bytes of RAM. For example, the following indirect
addressing instruction, where R0 contains 0A0H, accesses
the data byte at address 0A0H, rather than P2 (whose
address is 0A0H).
MOV @R0, #data
Note that stack operations are examples of indirect
addressing, so the upper 128 bytes of data RAM are avail-able
as stack space.
Так что IDATA и SFR - ЭТО РАЗНЫЕ ПАМЯТИ.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru