Где регистры R0 и R1 на карте памяти? - PullRequest
3 голосов
/ 22 декабря 2011

Я так запутался из-за расположения счетчика программ (R0) и указателя стека (R1) на карте памяти. Я думаю, что они находятся внутри ЦП, поэтому внутри карты памяти нет места, где бы отображались эти регистры. Но мой друг настаивает на том, что они расположены в специальных регистрах функций (SFR), то есть они расположены внизу карты памяти. Какой из них является правильным ответом?

1 Ответ

5 голосов
/ 23 декабря 2011

Регистры R0 и R1 (и все остальные регистры общего назначения) находятся в ЦП и доступны с помощью инструкций, которые используют «режим регистра» для операнда.Они не отображены в памяти.

Регистры специальных функций определены в спецификации устройства для используемого вами варианта MSP430.SFR обычно включают биты разрешения прерывания и биты флага прерывания для устройств, которые напрямую влияют на работу ЦП (например, NMI, сбой генератора и т. Д. И первый последовательный порт), но обычно не включают в себя другие периферийные устройства общего назначения.

Например, см. «Рисунок 3-1: Блок-схема ЦП» в Руководстве пользователя семейства MSP430x2xx, SAU144H .Регистры отображаются как часть ЦП.

Также в качестве примера см. Стр. 14 таблицы спецификаций устройства MSP430F2619-HT , в которой показаны регистры специальных функций.Нет упоминания о регистрах общего назначения.

...