Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
МК51 позволяет управлять пятью (частично пересекающимися) адресными пространствами памяти, четыре из которых являюся областями данных:
RSEG - пространство регистров (4*8 байт);
DSEG - пространство внутренней памяти данных (256 байт);
BSEG - битовое пространство данных (256 бит);
XSEG - пространство внешней памяти данных (до 64К байт);
CSEG - пространство программного кода (до 64К байт).
Пространства RSEG и BSEG частично пересекаются, физически совмещаются с DSEG и образуют единую внутреннюю среду для хранения данных. Это позволяет одни и те же данные рассматривать с разных позиций (ячейка памяти, регистр, битовое поле, порт ввода/вывода и т.п.) и организовывать наиболее удобный для данного случая доступ к ним.
Характерно, что все порты ввода/вывода, системные регистры, таймеры так же отображены на пространство DSEG.
Пространство регистров представлено четырьмя банками регистров по 8 в каждом, а так же 16-разрядными программным счетчиком PC и регистром косвенного адреса DPTR, 8-разрядными аккумуляторами A и B, указателем стека SP и регистром PSW.
Все регистры, кроме PC, отображаются на DSEG.
PSW[7] - CY - перенос из старшего (7) разряда АЛБ;
PSW[6] - AC - перенос из третьего разряда АЛБ;
PSW[5] - F0 - флаг пользователя.
Кроме того, формат PSW включает двухбитовое поле PSW[4:3] - RS номера банка регистров и флаги арифметического переполнения OV (PSW[2]) и четности P (PSW[0]).
Флаги CY, AC и OV отражают признаки результата последней арифметической операции, а P - четность содержимого аккумулятора A. Расширение аккумулятора B используется в командах умножения и деления, а в остальных операциях - как обычная ячейка памяти. Программный счетчик адресует пространство памяти программ CSEG объемом до 64K байт, причем переход из области внутренней памяти программ к внешней осуществляется автоматически.
Указатель данных DPTR используется для обращения к XSEG и при пересылке констант из CSEG в A. Кроме того, содержимое DPTR используется а качестве смещения в команде перехода.
Указатель стека SP образует системный стек глубиной до 256 байт. SP хранит адрес последнего занесенного байта и растет при записи в сторону больших адресов.
Регистры R0, R1 каждого банка используются в качестве указателей данных. При сбросе машины в A, B, PC и DPTR загружаюся 0h, а в SP - 07h.
Дата публикования: 2014-11-26; Прочитано: 248 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!