Счетчик команд. Регистр DPTR. Память. Порты
  
 
  Счетчик команд (PC) предназначен для формирования текущего 16-разрядного адреса программной памяти и 8/16-разрядного адреса внешней памяти данных.
 В состав счетчика команд входят 16-разрядные буфер PC, регистр указателя данных DPTR, регистр PC, схема инкремента, регистр адреса памяти.
 Буфер PC осуществляет связь между 16-разрядной шиной PC к восьмиразрядной магистралью данных, обеспечивая запись, хранение и коммутацию информации.
 Регистр указателя данных (DPTR) предназначен для хранения 16-разрядногс адреса внешней памяти данных. Состоит из двух восьмиразрядных регистров DPH и DPL, входящих в блок регистров специальных функций. Они программно доступны и могут использоваться в качестве двух независимых РОН, если нет необходимости в хранении 16-разрядного адреса внешней памяти данных. В регистре PC хранится текущий 16-разрядный адрес памяти программ. Схема инкремента увеличивает текущее значение 16-разрядного адреса памяти программ на единицу.
 Регистр адреса памяти предназначен для записи и хранения исполнительного 16-разрядного адреса памяти программ или 8/16-разрядного адреса внешней памяти данных, а также для передачи данных на порт Р0 при выполнении команд MOVX @Ri, А и MOVX @DPTR, А, обеспечивающих запись данных через порт Р0 во внешние устройства через порты Р0, Р1, Р2, РЗ.
 Порты Р0, Р1, Р2, РЗ являются двунаправленными портами ввода-вывода и предназначены для обеспечения обмена информацией ОМЭВМ с внешними устройствами, образуя 32 линии ввода-вывода. Каждый из портов содержит фиксатор-защелку, который представляет собой восьмиразрядный регистр, имеющий байтовую и битовую адресацию для установки (сброса) разрядов с помощью программного обеспечения.
 Физические адреса фиксаторов Р0, Р1, Р2, РЗ составляют для:
 Р0 — 80Н, при битовой адресации 80Н—87Н;
 Р1 — 90Н, при битовой адресации 90Н—97Н;
 Р2 — А0Н, при битовой адресации А0Н—А7Н;
 РЗ — В0Н, при битовой адресации В0Н—В7Н.
 Помимо работы в качестве обычных портов ввода/вывода линии портов Р0—РЗ могут выполнять ряд дополнительных функций, описанных ниже.
 Через порт Р0:
 — выводится младший байт адреса А0—А 7 при работе с внешней памятью программ и внешней памятью данных;
 — выдается из ОМЭВМ и принимается в ОМЭВМ байт данных при работе с внешней памятью (при этом обмен байтом данных и вывод младшего байта адреса внешней памяти мультиплексированы во времени);
 — задаются данные при программировании внутреннего ППЗУ и читается содержимое внутренней памяти программ.
 Через порт Р1:
 — задается младший байт адреса при программировании внутреннего ППЗУ и при чтении внутренней памяти программ.
 Через порт Р2:
 — выводится старший байт адреса А 8—А15 при работе с внешней памятью программ и внешней памятью данных (для внешней памяти данных — только при использовании команд MOVX A,@DPTR и MOVX @DPTR,A, которые вырабатывают 16-разрядный адрес);
 — задается старший байт (разряды А8—А14) адреса при программировании внутреннего ППЗУ и при чтении внутренней памяти программ.
 Каждая линия порта РЗ имеет индивидуальную альтернативную функцию:
 РЗ. 0 — RxD, вход последовательного порта, предназначен для ввода последовательных данных в приемник последовательного порта;
 РЗ. 1 — TxD, выход последовательного порта, предназначен для вывода последовательных данных из передатчика последовательного порта;
 РЗ.  ............