Руководство пользователя MSP430 (Раздаточные материалы), страница 7
Описание файла
Файл "Руководство пользователя MSP430" внутри архива находится в следующих папках: Раздаточные материалы, Описания к различным сериям микроконтроллеров. Документ из архива "Раздаточные материалы", который расположен в категории "". Всё это находится в предмете "системы автоматического управления (сау) (мт-11)" из 8 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "системы автоматического управления (сау)" в общих файлах.
Онлайн просмотр документа "Руководство пользователя MSP430"
Текст 7 страницы из документа "Руководство пользователя MSP430"
В таблице 3.11 приведено описание и перечень команд с двойным операндом.
Таблица 3.11. Команды с двойным операндом
Мнемоника | S-Reg, D-Reg | Операция | Биты статуса | |||
V | N | Z | C | |||
MOV(.B) | src,dst | src -> dst | - | - | - | - |
ADD(.B) | src,dst | src + dst -> dst | * | * | * | * |
ADDC(.B) | src,dst | src + dst + C -> dst | * | * | * | * |
SUB(.B) | src,dst | dst + .not.src + 1 -> dst | * | * | * | * |
SUBC(.B) | src,dst | dst + .not.src + C -> dst | * | * | * | * |
CMP(.B) | src,dst | dst – src | * | * | * | * |
DADD(.B) | src,dst | src + dst + C -> dst (десятичное) | * | * | * | * |
BIT(.B) | src,dst | src .and. dst | 0 | * | * | * |
BIC(.B) | src,dst | .not.src .and. dst -> dst | - | - | - | - |
BIS(.B) | src,dst | src .or. dst -> dst | - | - | - | - |
XOR(.B) | src,dst | src .xor. dst -> dst | * | * | * | * |
AND(.B) | src,dst | src .and. dst -> dst | 0 | * | * | * |
* - Влияет на бит статуса
- - Не влияет на бит статуса
0 - Бит статуса очищается
1 - Бит статуса устанавливается
Примечание: Команды CMP и SUB |
3.4.2 Команды с одним операндом (Формат II)
На рис.3.10 показана структура формата команды с одним операндом.
В таблице 3.12 приведено описание и перечень команд с одним операндом.
Мнемоника | S-Reg, D-Reg | Операция | Биты статуса | |||
V | N | Z | C | |||
RRC(.B) | dst | C -> MSB -> … LSB -> C | * | * | * | * |
RRA(.A) | dst | MSB -> MSB -> … LSB -> C | 0 | * | * | * |
PUSH(.B) | src | SP-2 -> SP, src -> @SP | - | - | - | - |
SWPB | dst | Обмен байтами | - | - | - | - |
CALL | dst | SP-2 -> SP, PC+2 -> @SP | - | - | - | - |
RETI |
| TOS -> SR, SP+2 -> SP | * | * | * | * |
SXT | dst | Бит7 -> Бит8 … … Бит15 | 0 | * | * | * |
* - Влияет на бит статуса
- - Не влияет на бит статуса
0 - Бит статуса очищается
1 - Бит статуса устанавливается
Для команды CALL возможны все способы адресации. Если используется символический режим (Адрес), прямой режим (#N), абсолютный режим (&EDE) или индексный режим x(RN), следующее за командой CALL слово должно содержать информацию об адресе.
3.4.3 Команды перехода
На рис.3.11 показан формат команды условного перехода.
В таблице 3.13 приведено описание и перечень команд переходов.
Мнемоника | S-Reg, D-Reg | Операция |
JEQ/JZ | Метка | Переход к метке, если бит нуля (Z) установлен |
JNE/JNZ | Метка | Переход к метке, если бит нуля (Z) сброшен |
JC | Метка | Переход к метке, если бит переноса (C) установлен |
JNC | Метка | Переход к метке, если бит переноса (C) сброшен |
JN | Метка | Переход к метке, если бит отрицательного результата (N) установлен |
JGE | Метка | Переход к метке, если (N.XOR.V)=0 |
JL | Метка | Переход к метке, если (N.XOR.V)=1 |
JMP | Метка | Безусловный переход к метке |
Условные переходы обеспечивают ветвление программы относительно программного счетчика PC и не оказывают влияния на биты статуса. Возможный диапазон переходов с помощью команды перехода составляет от -511 до +512 слов относительно текущего значения PC. 10-разряное смещение программного счетчика обрабатывается как 10-разрядное значение со знаком: удваивается и складывается с содержимым программного счетчика:
PCnew=PCold + 2 + PCoffset x 2 | |
где: | PCnew – новое содержимое программного счетчика; |
3.4.4 Командные циклы и длина команд
Число тактовых циклов ЦПУ, требуемых для выполнения команды, определяется форматом команды и используемым режимом адресации, и не зависит, собственно, от команды. Понятие количества тактовых циклов относится к MCLK.
Циклы прерывания и сброса
В таблице 3.14 приведено количество циклов ЦПУ для обслуживания прерывания и сброса.
Таблица 3.14. Циклы прерывания и сброса
Действие | Кол-во циклов | Длина команды |
Возврат из прерывания (RETI) | 5 | 1 |
Получение прерывания | 6 | - |
Сброс WDT | 4 | - |
Сброс (nonRST/NMI) | 4 | - |
Циклы команд формата-II (один операнд) и их длина
В таблице 3.15 приводится длина и необходимое количество циклов ЦПУ для всех адресных режимов команд формата-II.
Таблица 3.15. Количество циклов и длина команд формата-II
Режим | Действие | Длина | Пример | ||
RRA,RRC | PUSH | CALL | |||
Rn | 1 | 3 | 4 | 1 | SWPB R5 |
@Rn | 3 | 4 | 4 | 1 | RRC @R9 |
@Rn+ | 3 | 4 | 5 | 1 | SWPB @R10+ |
#N | См.прим. | 4 | 5 | 2 | CALL #81H |
X(Rn) | 4 | 5 | 5 | 2 | CALL 2(R7) |
EDE | 4 | 5 | 5 | 2 | PUSH EDE |
&EDE | 4 | 5 | 5 | 2 | SXT &EDE |
Примечание: команда формата-II в непосредственном режиме адресации Не следует использовать команды RRA, RRC и SXT с непосредственным режимом в поле получателя. Их использование в непосредственном режиме приведет к выполнению непредсказуемой программной операции.
Циклы команд формата-III (команды перехода) и их длина
Все команды перехода требуют одно слово кода и при выполнении используют два цикла ЦПУ, независимо от того, сделан переход или нет.
Циклы команд формата-I (двойной операнд) и их длина