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

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

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 186 187 188 189 190 191 < 192 > 193 194 195 196 197 198 .. 528 >> Следующая

сброса МК программный счетчик автоматически устанавливается в "0".
Поэтому в МК с процессорным ядром MCS-51 любая программа пользователя
должна начинаться с адреса 0000И.
Указатель стека SP- 8-разрядный регистр, содержит адрес верхушки стека.
Архитектура процессорного ядра MCS-51 предполагает размещение области
стековой памяти только в области внутреннего ОЗУ данных. Поэтому глубина
стека ограничена объемом резидентного ОЗУ. Вызов подпрограммы использует
2 ячейки стека, прерывание -4 ячейки. При сбросе МК указатель стека
устанавливается в состояние 07h, назначая область стека в первый банк
регистров (регистр R7 нулевого банка имеет адрес 07h, при загрузке в стек
содержимое указателя SP увеличивается на 1).
334
СЕМЕЙСТВО МК MCS-51 ФИРМЫ "INTEL"
Регистр признаков PSW- 8-разрядный регистр, содержит 7 флагов условий:
переноса С, дополнительного переноса АС, переполнения OV, четности Р, два
флага RS1 :RS0 для выбора текущего банка регистров, свободно
программируемый пользователем флаг F0. Обратите внимание: в регистре
признаков отсутствуют флаги нулевого результата Z и отрицательного
результата N. Однако, если флаг N в архитектуре MCS-51 действительно
отсутствует, то признак нулевого состояния аккумулятора (и только
аккумулятора!) формируется, но не запоминается и в регистре признаков не
отображается. Поэтому при составлении прикладной программы пользователя
команды условного перехода по признаку Z (JZ и JNZ) должны быть выполнены
сразу после команды действия над операндами, этот признак формирующей.
Краткое описание логики установки "незнакомых" флагов:
P-флаг четности. Устанавливается в "1", если число единиц в аккумуляторе
нечетное. При четном числе единиц в АСС сбрасывается. Все попытки
принудительно установить флаг Р в состояние, которое не соответствует
текущему состоянию аккумулятора АСС, будут безуспешными.
RS1:RS0-6umbi выбора банка регистров. Во избежание нежелательного
изменения других битов регистра признаков рекомендуется производить
модификацию номера банка с использованием команд битового процессора.
Распределение регистров общего назначения приведено в табл. 4.5.
iii
м и
.''Vi
F0 - флаг пользователя. Назначается пользователем по желанию. Изменение
состояния F0 и ветвление по значению флага выполняются командами битового
процессора.
Процессорное ядро MCS-51 может оперировать с тремя основными типами
операндов: булевыми (1 бит), байтовыми (8 бит) и двухбайтовыми (16 бит).
В операциях обмена тетрадами используется дополнительное представление
информации полубайтами (4 бита). В МК с ядром MCS-51 используются
следующие способы адресации:
• неявная (INH - Inherent);
• регистровая (REG - Register); .ф.
• непосредственная (IMM - Immediate); К
• прямая (DIR - Direct);
• косвенная (IDIR - Indirect);
• относительная (REL - Relative).
К инструкциям с неявной адресацией относятся команды, которые не требуют
для своего выполнения каких-либо операндов: RTI, NOP. Неявную адресацию
имеют инструкции, которые содержат адрес операнда в коде команды,
например, команда установки бита переноса SETB С или команды инкремента
аккумулятора INC А и регистров INC Rn. Все команды с неявной адресацией
имеют длину в 1 байт и состоят только из кода операции. Обратите
внимание: мнемоника команды содержит имя регистра в поле операнда (А,
Rn). Но при кодировании команды это имя будет помещено в байт кода
операции.
Таблица 4.5
Распределение регистров Rn по банкам
RS1 RS0 Номер банка Границы адресов
0 0 0 00h...07h
0 1 1 08h...0Fh
1 0 2 10h...17h
1 1 3 18h...1Fh
335
8-РАЗРЯДНЫЕ МИКРОКОНТРОЛЛЕРЫ
Код операции команды с непосредственной адресацией размещается в первом
байте. Сразу же за кодом операции следует 1 байт данных. Эти данные не
могут быть изменены в ходе выполнения программы, так как они расположены
непосредственно в памяти программ, т. е. в ПЗУ. Большинство команд с
непосредственной адресацией имеют длину в 2 байта. Условное обозначение
операнда в мнемонике команды - #d8: Примеры.
ADD A,#d8 ; Запись команды сложения ADD с непосредственной адресацией в
общем виде.
ADD А,#3 ; Сложить содержимое аккумулятора АСС с числом 3,
; результат записать в АСС.
ORL A,#0Ah ; Выполнить операцию поразрядного ИЛИ над содержимым АСС и
; шестнадцатеричным числом OAh. Результат записать в АСС.
Всего одна команда с непосредственной адресацией MOV DPTR,#d16 имеет
трехбайтовый формат, поскольку выполняет загрузку данных в двухбайтовый
регистр DPTR.
MOV DPTR,#3400h ; Загрузить в регистр-указатель число 3400h
В командах с регистровой адресацией один из операндов находится в одном
из регистров общего назначения Rn = R0 - R7 банка, номер которого
определяется разрядами RS1:RS0 регистра признаков PSW. Если команда
производит действие над одним операндом, то формат команды однобайтовый.
Номер регистра Rn определяется тремя младшими битами байта кода операции.
Примеры.
MOV A,Rn ; Запись команды загрузки аккумулятора АСС из регистра Rn
Предыдущая << 1 .. 186 187 188 189 190 191 < 192 > 193 194 195 196 197 198 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed