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

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

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

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

Добавлен: 16.06.2025

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

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

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

MSP430x1xxFamily

Проверяется бит приема (RCV) при последовательной передаче данных. Поскольку при использовании команды BIT для проверки одного бита содержимое бита переноса эквивалентно состоянию проверяемого бита, оно используется в следующей команде; прочитанная информация сдвигается в регистр RECBUF:

;

;Последовательная передача данных, начиная с младшего бита (LSB), сдвиг которого происходит в первую очередь:

BIT.B #RCV,RCCTL

;xxxx xxxx xxxx xxxx

;Информационный бит в бите переноса

RRC RECBUF

;Бит переноса → в MSB регистра

;RECBUF

;cxxx xxxx

Пример

;повтор двух предыдущих команд

;8 раз

;cccc cccc

;

MSB

LSB

;^

^

;Последовательная передача данных,

;начиная со старшего бита (MSB),

;сдвиг которого происходит в первую

;очередь:

BIT.B #RCV, RCCTL ;Информационный бит в бите переноса

RLC.B RECBUF

;Бит переноса → в LSB регистра

;RECBUF

;xxxx xxxc

;повтор двух предыдущих команд

;8 раз

;cccc cccc

;LSB

;MSB

*BR, BRANCH

Переход к … месту назначения

Синтаксис

BR dst

Операция

dst → PC

Эмуляция

MOV dst, PC

Безусловный переход выполняется в любое место 64 кБайт адресного

Описание

пространства. Могут использоваться все способы адресации. Команда пере-

хода – это команда-слово.

Биты статуса

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

Примеры для всех режимов адресации:

BR #EXEC ;Переход к метке EXEC или прямой переход

(например, #0A4h)

Пример

BR EXEC

;Команда ядра MOV @PC+,PC

;Переход по адресу, содержащемуся в EXEC

;Команда ядра MOV X(PC),PC

;Косвенный адрес

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

60


Раздел III.

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

BR &EXEC ;Переход по адресу, содержащемуся

;в абсолютном адресе EXEC

;Команда ядра MOV X(0),PC

BR R5

;Косвенный адрес

;Переход по адресу, содержащемуся в R5

;Команда ядра MOV R5,PC

;Косвенная адресация по содержимому R5BR @R5

;Переход по адресу, содержащемуся в слове,

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

;Команда ядра MOV @R5,PC

;Косвенная адресация по косвенному

BR @R5+

;содержимому R5

;Переход по адресу, содержащемуся в слове,

;указанном в регистре R5 и последующий

Пример

;инкремент указателя в R5.

;При следующем использовании указателя R5

;программным потоком выполнение программы

;может измениться, поскольку будет

;использован следующей адрес

;в таблице, указанной регистром R5

;Команда ядра MOV @R5,PC

;Косвенная адресация по косвенному

;содержимому R5 c автоинкрементом

BR X(R5) ;Переход по адресу, содержащемуся в адресе,

;указанном выражением R5+Х (например,

;таблица со стартовым адресом Х). «Х» может

;быть адресом или меткой

;Команда ядра MOV X(R5),PC

;Косвенная адресация по косвенному

;содержимому R5 + X

CALL

Вызов подпрограммы

Синтаксис

CALL dst

dst → tmp dst оценивается и сохраняется

Операция

SP – 2 → SP

PC → @SP

PC сохраняется на вершине стека (TOS)

tmp → PC dst записывается в PC

Вызов подпрограммы может производиться по любому адресу в пределах

Описание

64 кБайт адресного пространства. Могут использоваться все способы ад-

ресации. Адрес возврата (адрес следующей команды) сохраняется в стеке.

Команда вызова подпрограммы – это команда-слово.

Биты статуса

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

Примеры для всех режимов адресации:

Пример

CALL #EXEC ;Вызов с метки EXEC или прямая адресация

;(например, #0A4h)

;SP-2 → SP, PC+2 → @SP, @PC+ → PC

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

61


MSP430x1xxFamily

CALL EXEC

;Вызов по адресу, содержащемуся в EXEC

;SP-2 → SP, PC+2 → @SP, X(PC) → PC

;Косвенная адресация

CALL &EXEC ;Вызов по адресу, содержащемуся

;в абсолютном адресе EXEC

;SP-2 → SP, PC+2 → @SP, X(0) → PC

CALL R5

;Косвенная адресация

;Вызов по адресу, содержащемуся в R5

;SP-2 → SP, PC+2 → @SP, R5 → PC

CALL @R5

;Косвенная адресация по содержимому R5

;Вызов по адресу, содержащемуся в слове,

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

;SP-2 → SP, PC+2 → @SP, @R5 → PC

;Косвенная адресация по косвенному

CALL @R5+

;содержимому R5

;Вызов по адресу, содержащемуся

Пример

;в слове, указанном в регистре R5

;и последующий инкремент указателя в R5.

;При следующем использовании указателя R5

;программным потоком выполнение программы

;может измениться, поскольку будет

;использован следующей адрес в таблице,

;указанной регистром R5

;SP-2 → SP, PC+2 → @SP, @R5 → PC

;Косвенная адресация по косвенному

;содержимому R5 c автоинкрементом

CALL X(R5) ;Вызов по адресу, содержащемуся в адресе,

;указанном выражением R5+Х (например,

;таблица со стартовым адресом Х).

;«Х» может быть адресом или меткой.

;SP-2 → SP, PC+2 → @SP, X(R5) → PC

;Косвенная адресация по косвенному

;содержимому R5 + X

*CLR[.W]

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

*CLR.B

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

Синтаксис

CLR dst или CLR.W dst

CLR.B dst

Операция

0 → dst

Эмуляция

MOV #0, dst

MOV.B #0, dst

Описание

Операнд получателя очищается

Биты статуса

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

Пример

Очистка слова TONI в ОЗУ:

CLR TONI

;0 → TONI

Пример

Очистка регистра R5:

CLR R5

Пример

Очистка байта TONI в ОЗУ:

CLR.B TONI

;0 → TONI

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

62


Раздел III.

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

*CLRC

Очистка бита переноса

Синтаксис

CLRC

Операция

0 → С

Эмуляция

BIC #1, SR

Описание

Бит переноса (С) очищается. Команда очистки переноса – это команда-слово.

N:

Не изменяется

Биты статуса

Z:

Не изменяется

C:

Очищается

V:

Не изменяется

Биты режима

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

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

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

CLRC

;C=0: определение исходного

;состояния

Пример

DADD @R13,0(R12) ;сложение 16-разрядного счетчика

;с младшим словом 32-разрядного

DADC 2(R12)

;счетчика

;прибавление переноса к старшему

;слову 32-разрядного счетчика

*CLRN

Очистка бита отрицания

Синтаксис

CLRN

Операция

0 → N или (.NOT.src .AND. dst → dst)

Эмуляция

BIC #4, SR

Константа 04h инвертируется (0FFFBh) и логически умножается (AND) с

Описание

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

бита отрицания – это команда-слово.

N:

Сбрасывается в «0»

Биты статуса

Z:

Не изменяется

C:

Не изменяется

V:

Не изменяется

Биты режима

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

Пример

Бит отрицания в регистре статуса очищается. Это позволяет избежать специ-

альной обработки отрицательных чисел вызываемой подпрограммы.

CLRN

CALL SUBR

SUBR

JN SUBRET ;если при входе – отрицательное значение,

;ничего не делается и происходит выход

;из подпрограммы

SUBRET

RET

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

63