Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 лаба.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
23 Кб
Скачать
☆

6) Какие способы адресации операндов используются для доступа к регистрам специальных функций микроконтроллера.

Следует сказать о первой строке исходного кода – директиве $INCLUDE. Она позволяет вставить вместо себя («include»-«включить») содержание файла, который указан в ней в качестве параметра (в рассматриваемом примере «reg51.inc»). Обычно эта процедура используется для включения в исходный текст программы символических описаний регистров специальных функций микроконтроллера (Special Function Registers - SFR), к которым относятся регистры состояния и управления его периферийных устройств, регистры аккумулятора (A) и дополнительного аккумулятора (B), регистр признаков (PSW), регистр-указатель данных (DPTR). В составе среды Keil μVision поставляются соответствующие файлы для микроконтроллеров, поддерживаемых данной средой. Сами файлы расположены в папке {Папка_размещения_среды_Keil_μVision}\C51\ASM; (где {Папка_размещения_среды_Keil_μVision} – фактическое место размещения среды Keil μVision на жестком диске ПЭВМ, например c:\Keil\ ). Использование файла описаний позволяет использовать в программе понятные мнемонические обозначения соответствующих регистров (P0, IE, SBUF) и их битов, вместо физических адресов, по которым эти регистры расположены в адресном пространстве памяти микроконтроллера (80h, 0A8h, 99h).

7) Какие способы адресации операндов могут быть использованы для доступа к регистрам общего назначения текущего выбранного банка?

Область внутренней памяти данных может быть адресована прямым методом (в команде указывается адрес требуемой ячейки) или косвенным методом (в команде указывается регистр R0 или R1 выбранного банка РОН, который содержит адрес требуемой ячейки). Доступ к регистрам выбранного банка РОН может быть осуществлен также с использованием регистровой адресации (внутри кода операции присутствует поле с номером регистра). Биты в бит-адресуемой памяти могут быть адресованы только прямым методом (посредством адреса нужного бита).

8) Доступны ли программе ячейки внутренней памяти данных, занимаемые неиспользуемыми банками регистров общего назначения? Если доступны, то какими способами?

Четыре банка регистров общего назначения (РОН), каждый из которых содержит по восемь регистров R0 … R7, два младших из которых (R0 и R1) могут быть использованы в качестве указателя адреса любой ячейки внутренней памяти данных в командах с косвенной адресацией. В каждый момент времени программе доступен только один банк РОН, номер которого выбран в слове состояния микроконтроллера PSW. Следует однако отметить, что доступность только одного из банков РОН подразумевается именно в смысле доступности совокупности регистров R0, R1, … , R7 – то есть регистров общего назначения. В то же время, если рассматривать эти регистры, как ячейки внутренней памяти данных, то они доступны всегда. В программах РОН обычно используются для передачи аргументов в подпрограммы и в качестве временных хранилищ обрабатываемых данных. Изменение доступного банка РОН может быть использовано, например при обработке прерываний, когда контекст основной задачи размещается в РОН одного банка, а контексты обработчиков прерываний – в других банках РОН. При таком хранении контекстов различных задач не требуется дополнительных операций по их сохранению (например в стеке). Если в программе используется только один банк РОН, то регистры остальных банков могут быть использованы в качестве ячеек памяти общего назначения.