Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпорки.docx
Скачиваний:
15
Добавлен:
24.09.2019
Размер:
3.31 Mб
Скачать

38. Система команд микроконтроллера msp430. Пример составления программы.

2 , 4, 6 байт – длина команды. Адрес 16-ти разрядного слова. Адрес расположения команды всегда чётный, а в двоичной системе исчисления чётное число всегда оканчивается нулём.

Z =1 если 0. V – флаг переполнения, равен 1 если число выходит за допустимые пределы для знаковых чисел.

Прерывание называется режим работы процессора когда основная или фоновая программа прерывается по запросу внешнего устройства, выполняется ввод/вывод, возврат в основную программу и продолжение её выполнения. Позволяет разгрузить основную программу от опроса внешних устройств.

Наличие прерываний позволяет микроконтроллеру оперативно реагировать на внешнюю обстановку. 27 команд

Адресная часть содержит информацию об операндах.

  1. Команда с двумя операндами. 4 бита содержат операции.

D – регистр назначения

S – регистр источник

4 бита позволяют адресоваться к внутренним регистрам процессора.

  1. – с одним операндом

  2. Без операнда – команды условного и безусловного перехода

MOV R5, R6 – содержимое R5 помещается в R6, но остаётся в R5.

Ортогональная система команд позволяет с помощью каждой команды обращаться по всем адресам со всеми возможными способами адресации.

Пример:

MOV R5, R15 – R5 в R15

MOV.b R4, R5 – младший бит R4 в младший бит R5

39 .Система команд микроконтроллеров архитектуры adsp-bf. Пример составления программы

-Allreg определяет любой из регистров: R[7:0], P[5:0], SP, FP, I[3:0], M[3:0], A0.X, RETS, RETI, RETN, RETE, LC[1:0], USP и другие;

- DIVS, DIVQ – операции деления со знаком и без;

- MAX, MIN – оп-ции опред. наиб. и наим. из значений в регистрах-ист.;

- ABS абсолютное значение старшей и младшей частей 32 р. регистра;

- RND – округление полуслова

Общая характеристика системы команд:

Система команд ориентирована на С и С++

R1=R2 | R2 R1 - присвоения

R3.H=R7.L | R7.L R3H

R3=AO;

P4=R2;

R2.L=0×FEC3

Арифметическое устр-во допускает выполнение логич. операций с целыми, дробными, знаковыми и беззнаковыми данными.

  1. R1=R2+R3 (S) – суммирование с записью в R1 с учётом насыщения

  2. R2.H=R3.L+R4.H - без учёта насыщения

  3. R2+=R3 | R2=R2+R3;

R2-=R4 | R2=R2+R4;

R2+=0×02 | R2=R2+02;

R3=(R2<<=0X02)

Для 16-разр. Данных в системе команд предусм. одинарные, двойные и тройные итерации. R1=R2+/R3

(R1.H=R2.H+R3.H; R1.L=R2.L-R3.L)

Команды безусловного перехода:

CALL (P3) CALL(PC+P1)

JUMP (P3) – абсолютный переход

JUMP (PC+P1) – относительный переход

Предпочтительнее использовать относительную адресацию.

IF cc JUMP addr cc – назв. флага при котором происх. переход

Флаговый регистр называется ASTAT

сс AZ(ноль); AC(перенос); AN(отрицание); AV(переполнение)

IF cc R4=R5

Если ноль: IF AZ R4=R5

Организация цикла:

addr:P5=#0×FFFF | задано число повторений цикла

L SETUP (m0,m1)LCO=P5; | m0 – LTO LT1

m0: A0+=R0*R1 | m1 – LBO LB1

m1:R1=A0 | #FFFFLCO LC1

В этом микропроцессоре для организации циклов исп. 3 вида регистров: LT, LB, LC

LT1 – хранит верхний адрес цикла

LB1 – хранит нижний адрес цикла

LC – количество повторений цикла

Чтобы задать цикл необходимо записать m0, m1 и т.д. Это выполн с помощью команды LSETUP

AO=0×00 P5=#0×FFFF

Подпрограмма выдержки времени:

P3=#0×FFA0 0E00

CALL (P3)

m0:R1-=0×FF

m2:R1-=0×01

IF AZ JUMP m1

JUMP m2

m1:R1=0×00

RET

Когда выполняется команда СALL в программном счётчике хранится адрес след. за ней команды.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]