Файл: Семейство микроконтроллеров MSP430X1XX, руководство пользователя (2004).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.06.2025

Просмотров: 2850

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Раздел III. 16-разрядное RISC CPU

В таблице 3.13 приведено описание и перечень команд переходов.

Таблица 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 × 2

где: PCnew – новое содержимое программного счетчика; PCold – исходное содержимое программного счетчика;

PCoffset – 10-разрядная величина смещения программного счетчика.

ADC[.W]

Сложить бит переноса с получателем

ADC.B

Сложить бит переноса с получателем

Синтаксис

ADC dst или ADC.W dst

ADC.B dst

Операция

dst + C → dst

Эмуляция

ADDC #0,dst

ADDC.B #0,dst

Описание

Бит переноса (С) складывается с операндом получателя. Предыдущее содер-

жимое получателя теряется.

N:

Устанавливается, если результат отрицательный, сбрасывается,

если положительный

Биты статуса

Z:

Устанавливается, если результат «0», в противном случае сбрасы-

вается

Библиотека Компэла

55


MSP430x1xxFamily

Устанавливается, если содержимое получателя dst инкрементирует-

C:

ся от 0FFFFh к 0000, в противном случае сбрасывается;

Устанавливается, если содержимое получателя dst инкрементирует-

Биты статуса

ся от 0FFh к 00, в противном случае сбрасывается;

V:

Устанавливается, если произошло арифметическое переполнение,

в противном случае сбрасывается

Биты режима

Биты OSCOFF, CPUOFF и GIE не изменяются

Сложение содержимого 16-разрядного счетчика, указанного в R13, с 32-раз-

Пример

рядным счетчиком, указанным в R12:

ADD @R13,0(R12)

;сложение LSD

ADC 2(R12)

;сложение переноса с MSD

Сложение содержимого 8-разрядного счетчика, указанного в R13, c 16-раз-

Пример

рядным счетчиком, указанным в R12:

ADD.B @R13,0(R12)

;сложение LSD

ADC.B 1(R12)

;сложение переноса с MSD

ADD[.W]

Сложение содержимого источника с содержимым получателя

ADD.B

Сложение содержимого источника с содержимым получателя

Синтаксис

ADD src,dst или ADD.W src,dst

ADD.B src,dst

Операция

src + dst → dst

Описание

Операнд источника складывается с операндом получателя. Операнд источника не изменяется. Предыдущее содержимое получателя теряется

N:

Устанавливается, если результат отрицательный, сбрасывается,

если положительный

Z:

Устанавливается, если результат «0», в противном случае сбрасы-

вается

Биты статуса

C:

Устанавливается, если в результате происходит перенос; очищается,

если переноса нет

V:

Устанавливается, если произошло арифметическое переполнение,

в противном случае сбрасывается

Биты режима Биты OSCOFF, CPUOFF и GIE не изменяются

Прибавление 10 к содержимому R5. Выполняется переход к метке TONI, если

произошел перенос (установлен бит С):

Пример

ADD #10, R5

JC TONI

;произошел перенос

;переноса нет

Прибавление 10 к содержимому R5. Выполняется переход к метке TONI, если

произошел перенос (установлен бит С):

Пример

ADD.B #10, R5 ;прибавление 10 к младшему байту R5

JC TONI

;перенос произошел, если (R5) ≥ 246

;[0Ah+0F6h]

;переноса нет

Библиотека Компэла

56


Раздел III.

16-разрядное RISC CPU

ADDC[.W]

Сложение содержимого источника и переноса с содержимым получателя

ADDC.B

Сложение содержимого источника и переноса с содержимым получателя

Синтаксис

ADDС src,dst или ADDС.W src,dst

ADDС.B src,dst

Операция

src + dst + С → dst

Операнд источника и бит переноса (С) складываются с операндом получате-

Описание

ля. Операнд источника не изменяется. Предыдущее содержимое получателя

теряется

N:

Устанавливается, если результат отрицательный, сбрасывается,

если положительный

Z:

Устанавливается, если результат «0», в противном случае сбрасы-

вается

Биты статуса

C:

Устанавливается, если произошел перенос из MSB результата;

сбрасывается, если переноса нет

V:

Устанавливается, если произошло арифметическое переполнение,

в противном случае сбрасывается

Биты режима

Биты OSCOFF, CPUOFF и GIE не изменяются

Прибавление содержимого 32-разрядного счетчика, указанного в R13, к

32-разрядному счетчику, расположенному на одиннадцать слов (20/2 + 2/2)

выше указанного в R13:

Пример

ADD @R13+, 20(R13) ;сложение LSD-байтов без учета

;переноса

ADDC @R13+, 20(R13) ;сложение MSD с учетом переноса

;в результате

;предыдущей команды сложения LSD

Прибавление содержимого 24-разрядного счетчика, указанного в R13, к

24-разрядному счетчику, расположенному на одиннадцать слов выше указан-

ного в R13:

ADD.B @R13+, 10(R13) ;сложение LSD-байтов без учета

Пример

;переноса

ADDC.B @R13+, 10(R13) ;сложение средних битов

;с переносом

ADDC.B @R13+, 10(R13) ;сложение MSD с учетом переноса

;в результате

;предыдущей команды сложения LSD

AND[.W]

Логическое «И» источника и получателя

AND.B

Логическое «И» источника и получателя

Синтаксис

AND src,dst или AND.W src,dst

AND.B src,dst

Операция

src .AND. dst → dst

Описание

Над операндом источника и операндом получателя выполняется операция

логического «И» (логическое умножение). Результат остается в получателе.

Библиотека Компэла

57


MSP430x1xxFamily

N:

Устанавливается, если в результате устанавливается MSB, сбрасы-

вается, если не устанавливается

Z:

Устанавливается, если результат «0», в противном случае сбрасы-

Биты статуса

вается

C:

Устанавливается, если результат не «0»; в противном случае сбра-

сывается (=.NOT. Zero)

V:

Сбрасывается

Биты режима

Биты OSCOFF, CPUOFF и GIE не изменяются

Установка битов в R5 с использованием маски (#0AA55h) для слова, адресо-

ванного меткой TOM. Если результат «0», выполняется переход к метке TONI:

MOV #0AA55h, R5

;загрузка маски в регистр R5

AND R5, TOM

;маскирование слова, адресованного

JZ

TONI

;TOM, с помощью регистра R5

;

Пример

;результат не «0»

;

;

;или

;

;

AND #0AA55h,TOM

JZ

TONI

Логическое перемножение битов маски #0A5h с младшим байтом TOM. Если

результат «0», выполняется переход к метке TONI:

Пример

AND.B #0A5,TOM

;маскирование младшего байта маской

JZ

TONI

;#0A5h

;

;результат не «0»

BIC[.W]

Очистка битов получателя

BIC.B

Очистка битов получателя

Синтаксис

BIC src,dst или BIC.W src,dst

BIC.B src,dst

Операция

.NOT.src .AND. dst → dst

Инвертированный операнд источника и операнд получателя логически

Описание

перемножаются. Результат помещается в получатель. Операнд источника не

изменяется.

Биты статуса

Биты статуса не изменяются

Биты режима

Биты OSCOFF, CPUOFF и GIE не изменяются

Очистка шести битов MSB слова LEO в ОЗУ:

Пример

BIC #0FC00h,LEO

;очистка 6-ти битов MSB в слове

;памяти (LEO)

Очистка пяти битов MSB байта LEO в ОЗУ:

Пример

BIC.B #0F8h,LEO

;очистка 5-ти битов MSB в ОЗУ

;в байте LEO

Библиотека Компэла

58


Раздел III.

16-разрядное RISC CPU

BIS[.W]

Установка битов получателя

BIS.B

Установка битов получателя

Синтаксис

BIS src,dst или BIS.W src,dst

BISC.B src,dst

Операция

src .OR. dst → dst

Над операндом источника и операндом получателя выполняется операция

Описание

логического «ИЛИ» (логическое сложение). Результат помещается в получа-

тель. Операнд источника не изменяется.

Биты статуса

Биты статуса не изменяются

Биты режима

Биты OSCOFF, CPUOFF и GIE не изменяются

Установка шести LSB-битов слова TOM в ОЗУ:

Пример

BIS #003Fh, TOM

;установка 6-ти LSB-битов слова TOM

;в ОЗУ

Установка трех MSB-битов байта LEO в ОЗУ:

Пример

BIS.B #0E0h,TOM

;установка 3-х MSB-битов в байте

;TOM в ОЗУ

BIT[.W]

Проверка битов получателя

BIT.B

Проверка битов получателя

Синтаксис

BIT src,dst или BIT.W src,dst

Операция

src .AND. dst

Над операндом источника и операндом получателя выполняется операция

Описание

логического «И» (логическое умножение). Результат влияет только на биты

статуса. Операнды источника и получателя не изменяются.

N:

Устанавливается, если установлен MSB результата, иначе сбрасы-

вается

Z:

Устанавливается, если результат «0», в противном случае сбрасы-

Биты статуса

вается

C:

Устанавливается, если результат не «0»; в противном случае сбра-

сывается (.NOT. Zero)

V:

Сбрасывается

Биты режима

Биты OSCOFF, CPUOFF и GIE не изменяются

Если бит 9 регистра R8 установлен, выполняется переход к метке TOM:

Пример

BIT #0200h, R8

;бит 9 регистра R8 установлен?

JNZ TOM

;Да, переход к метке TOM

;Нет, продолжение программы

Пример

Если бит 3 регистра R8 установлен, выполняется переход к метке TOM:

BIT #8, R8JС TOM

Библиотека Компэла

59