Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 239

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 233 234 235 236 237 238 < 239 > 240 241 242 243 244 245 .. 528 >> Следующая

ADDWF f,d ; Мнемоника команды:
; Сложить содержимое рабочего регистра W с содержимым ; регистра общего
назначения f. Результат поместить в W при ; d=0 или в f при d=1 (0< f <
31).
ADDWF 1Eh,1 ; Сложить содержимое рабочего регистра W с содержимым
; ячейки памяти 1 Eh, результат поместить в ячейку памяти 1Eh.
430
СЕМЕЙСТВО МК НС08 ФИРМЫ "MOTOROLA"
ADDWF FSR,0 ; Сложить содержимое рабочего регистра W с содержимым
; регистра косвенной адресации FSR, результат поместить в ; рабочий
регистр W.
Прямая адресация используется также всеми командами работы с битами.
В качестве указателя адреса при косвенной адресации используется регистр
FSR. Пять младших битов этого регистра адресуют ячейку памяти в пределах
банка (адреса ячеек 0 - 1Fh). Разряды FSR6:FSR5 используются для выбора
текущего банка. В МК PIC16C54 всего один банк памяти данных. Но в других
моделях МК серии Р1С16С5х используется ОЗУ большей емкости. При написании
программ для этих моделей следует помнить, что содержимое разрядов
FSR6:FSR5 регистра косвенной адресации определяет адрес ячейки памяти не
только при использовании косвенной адресации, но и при прямой адресации,
так как непосредственно в коде команды с прямой адресацией указывается
лишь 5-разрядный адрес ячейки.
При просмотре таблиц с перечнем команд МК Р1С16С5х Вы не увидите
специальных мнемоник команд, использующих косвенную адресацию. Дело в
том, что любая команда, которая использует прямую адресацию, может также
использовать и косвенную. Для обозначения перехода от прямой адресации к
косвенной при записи мнемоники команды используется имя регистра INDF.
Этот регистр реально не существует, но при его указании в поле прямого
адреса операнда центральный процессор использует содержимое регистра FSR
в качестве адреса операнда. Например:
ADDWF INDF,0 ; Сложить содержимое рабочего регистра W с содержимым
; ячейки памяти, адрес которой находится в регистре косвенной ; адресации
FSR, результат поместить в рабочий регистр W.
ADDWF 0,1 ; Сложить содержимое рабочего регистра W с содержимым
; ячейки памяти, адрес которой находится в регистре косвенной ; адресации
FSR (0 - абсолютный адрес несуществующего ; регистра INDF), результат
поместить в ту же ячейку памяти.
Чтение косвенным образом самого регистра INDF даст результат 00h (т. е.
FSR = 0). Косвенная запись в регистр INDF не приведет к изменению
состояния регистра FSR, хотя биты состояния могут быть изменены.
Регистры OPTION и TRIS не имеют собственных адресов в карте памяти,
поэтому для работы с ними используются специальные команды с неявной
адресацией (команды "OPTION" и "TRIS f").
Для работы с константами, которые по определению могут быть расположены
только в области ПЗУ, используется непосредственная адресация (IMM).
Центральный процессор PIC16 может оперировать с константами двух
форматов, для которых в мнемонике команды используется общая аббревиатура
константы к. В командах загрузки и логических операций используются 8-
разрядные константы (рис. 4.57). Это и понятно: разрядность константы
должна совпадать с разрядностью второго операнда и регистра результата.
Кроме того, 8-разрядный адрес вызываемой подпрограммы указывается в коде
команды CALL. И лишь одна команда безусловного перехода GOTO к использует
9-разрядную константу, которая содержит абсолютный адрес следующей
команды.
Формат счетчика адреса PC в МК серии Р1С16С5х может быть 9-разрядным, как
в рассматриваемом PIC16C54, или 10- или даже 11-разрядным. Для каждой
модели МК серии Р1С16С5х формат счетчика адреса определяется объемом
резидентного ПЗУ, которое хранит прикладную программу. Младший байт
счетчика команд PCL интерпретируется как регистр специальных функций.
Поэтому PCL имеет собственный адрес в карте адресного пространства
внутреннего ОЗУ и, следовательно, программно доступен. Если счетчик
команд является операндом в какой-либо команде (например, MOVWF PC, ADDWF
PC или BSF PC,5) то результат операции в 8-разрядном формате загружается
431
8-РАЗРЯДНЫЕ МИКРОКОНТРОЛЛЕРЫ
| Команды работы с байтами 11 6 5 4 О
| Код операции | d If I
d = 0 - для назначения W
d = 1 - для назначения f
f = 5-разрядный адрес регистра
| Команды работы с битами
11 8 7 5 4 0
| Код операции | d(BIT#) | f |
Ь = 3-разрядный номер бита f = 5-разрядный адрес регистра
I Команды управления и операции с константами (кроме GOTO)
11 8 7 О
| Код операции | к (константа) |
к = 8-разрядное значение ,
| Команда GOTO
11_________________98________________О
| Код операции | к (константа) |
к = 9-разрядное значение
Рис. 4.57. Форматы команд МК серии Р1С16С5х
в младший байт счетчика команд PCL. Восьмой бит сбрасывается в "О", а
остальные загружаются из регистра состояния STATUS (см. табл. 4.50).
Поэтому вычисляемые переходы и таблицы могут располагаться только в
диапазоне первых 256 адресов каждой страницы памяти программ.
Если счетчик адреса 9-разрядный, т. е. объем ПЗУ составляет 512 ячеек, то
Предыдущая << 1 .. 233 234 235 236 237 238 < 239 > 240 241 242 243 244 245 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed