Пространство внутренней памяти DSEG
Пространство внутренней памяти данных делится на пространство адресов внутреннего ОЗУ и пространство адресов регистров специальных функций. Существует 2 способа адресации памяти данных DSEG: прямая и косвенная адресация. Прямая адресация реализуется путем указания адреса ячейки в диапазоне 0..127, т.е. доступна младшая половина адресного пространства. Косвенная адресация реализуется через регистры R0 и R1. При косвенной адресации доступны все ячейки DSEG (0..255).
В области ОЗУ выделяют три сегмента: 1) Младшие 32 адреса занимают четыре регистровых банка, каждый из которых содержит по 8 регистров общего назначения RO - R7. При обращении к ячейкам памяти этого сегмента могут быть использованы как абсолютные адреса OOh - 1Fh, так и символьные имена регистров RO - R7. Для выбора одного регистра из четырех, имеющих одно имя, используется механизм задания текущего банка регистров. Номер банка, на 8 ячеек которого в данный момент времени распространяются имена RO - R7, определяется значением битов RS1:RSO регистра признаков PSW.2) Ячейки памяти с адресами 20h - 2Fh допускают побитное обращение. Прямоадресуемые биты имеют адреса OOh.. 7Fh. Таким образом, обращение к данным, расположенным в ячейках памяти с адресами 20h - 2Fh, может быть осуществлено как в байтовом, так и в битовом формате. 3) Область памяти с адресами 80h - 0FFh занимают регистры специальных функций: регистры данных портов ввода/вывода Р0, Р1, Р2, РЗ, регистры задания режимов работы других периферийных модулей. В этом же адресном пространстве расположены: аккумулятор АСС, регистр В, регистр состояния PSW, старший DPH- и младший DPL-байты двухбайтового регистра DPTR, указатель стека SP.
Регистры специальных функций МК 51
Пространство внешней памяти данных ХSEG. Имеет максимальный объем 64К и реализуется внешними средствами. Существует единственная команда для поддержания связи с этим пространством MOVX.
CSEG - пространство программного кода. Память программ CSEG адресуется 16-ти разрядным счетчиком РС и может иметь размер до 64К. Пространство является линейно упорядоченным. В пространстве определены особые точки, имеющие предопределенное значение:
0000Н | RESET | Стартовый адрес при сбросе |
0003Н | INT0 | Внешнее прерывание 0 |
000ВН | CT0 | Прерывание счетчика/таймера 0 |
0013Н | INT1 | Внешнее прерывание 1 |
001ВН | CT1 | Прерывание счетчика/таймера 1 |
0023Н | SINT | Прерывание последовательного порта |