- •Кафедра «Мехатронные системы»
- •Изучение способов адресации микроконтроллера msp430f2013
- •Ижевск 2012
- •Введение
- •Задание
- •1 Порядок выполнения работы
- •2 Структура и содержание отчета
- •3 Контрольные вопросы для защиты лабораторной работы
- •Литература
- •Приложение а
- •Варианты индивидуальных заданий
- •Приложение б
- •Архитектура цпу msp430
- •Приложение в (справочное) Организация памяти микроконтроллеров семейства msp430
- •Приложение г
- •Способы адресации операндов в памяти микроконтроллеров семейства msp430
- •Приложение д (справочное) Форматы команд цпу микроконтроллеров семейства msp430
- •Приложение е (справочное) Список ассемблерных команд цпу микроконтроллеров семейства msp430
- •Приложение ж
- •Исходный текст программы работы с элементами массива на ассемблере
Приложение а
(обязательное)
Варианты индивидуальных заданий
Разработать алгоритм и программу на языке ассемблер:
Нахождения максимального элемента в массиве из 16 байт.
Нахождения суммы элементов в массиве из 10 байт.
Нахождения количества нечетных чисел в массиве из 8 байт.
Нахождения суммы отрицательных чисел в массиве из 15 байт.
Нахождения количества отрицательных чисел в массиве из 20 байт.
Нахождения суммы четных чисел в массиве из 10 байт.
Нахождения количества четных чисел в массиве из 15 байт.
Нахождения суммы нечетных чисел в массиве из 8 байт.
Нахождения количества нулей в массиве из 16 байт.
Преобразования массива чисел по следующей формуле: Ci=2Ai+128, i=0..9.
Преобразования массива чисел по следующей формуле: Ci=2Ai+Bi/2, i=0..15.
Преобразования массива чисел по следующей формуле: Ci=Ai/4+16, i=0..19.
Переставляющей элементы массива из 8 байт в обратной последовательности.
Нахождения максимального и минимального элементов в массиве из 10 байт и замены их местами.
Нахождения суммы трех наибольших чисел в массиве из 16 байт.
Замены отрицательных чисел в массиве из 16 байт нулями.
Замены минимального числа в массиве из 10 байт нулем.
Замены четных чисел в массиве из 20 байт нулями.
Приложение б
(справочное)
Архитектура цпу msp430
ЦПУ MSP430 имеет следующие особенности:
RISC-архитектура, поддерживающая 27 команд и 7 режимов адресации;
ортогональная архитектура — с каждой из команд может использоваться любой режим адресации;
полная доступность регистров, включая счётчик команд, регистры состояния и указатель стека;
однотактные регистровые операции;
большой 16-битный регистровый файл, уменьшающий количество обращений к памяти;
16-битная шина адреса, обеспечивающая прямой доступ и ветвление во всём диапазоне адресов;
16-битная шина данных, позволяющая напрямую оперировать 2-байтными значениями;
генератор констант формирует шесть наиболее часто используемых значений, уменьшая размер кода;
прямой обмен данными между ячейками памяти без промежуточной записи в регистр;
одно- и двухбайтные адресация и форматы команд.
Блок-схема ЦПУ приведена на рисунке Б.1.
Центральный процессор содержит шестнадцать 16-битных регистров. Регистры R0, R1, R2 и R3 имеют специальные функции. Регистры с R4 по R15 являются рабочими регистрами общего назначения.
16-битный счётчик команд (PC/R0) указывает на следующую команду, которая будет выполняться. Указатель стека (SP/R1) используется ЦПУ для сохранения адресов возврата из подпрограмм и прерываний. Указатель стека и счетчик команд могут использоваться со всеми командами и любыми режимами адресации.
Рисунок Б.1 – Блок-схема ЦПУ
Использовать регистр состояния (SR/R2) в качестве регистра-источника или регистра-приёмника могут только команды, оперирующие двухбайтными значениями и только при использовании режима регистровой адресации. Прочие комбинации режимов адресации используются для поддержки генератора констант. Формат регистра состояния SR приведён на рисунке Б.2.
Рисунок Б.2 – Формат регистра состояния
Назначение битов регистра SR описано в таблице Б.1.
Таблица Б.1 - Биты регистра состояния
Бит |
Описание | ||
V |
Флаг переполнения. Этот бит устанавливается, если результат арифметической операции выходит за границы допустимых значений для знаковых величин | ||
ADD(.B), ADDC(.B) |
Устанавливается, когда: Положительное + Положительное = Отрицательное, Отрицательное + Отрицательное = Положительное, в противном случае сбрасывается | ||
SUB(.B), SUBC(.B), CMP(.B) |
Устанавливается, когда: Положительное – Отрицательное = Отрицательное, Отрицательное – Положительное = Положительное, в противном случае сбрасывается | ||
SCG1 |
Системный тактовый генератор 1. Когда этот бит установлен, сигнал SMCLK отключён | ||
SCG0 |
Системный тактовый генератор 0. Когда этот бит установлен, генератор DCO выключен, если сигнал DCOCLK не используется для формирования сигналов MCLK или SMCLK | ||
OSCOFF |
Выключение генератора. Когда этот бит установлен, кварцевый генератор LFXT1 выключен, если сигнал LFXT1CLK не используется для формирования сигналов MCLK или SMCLK | ||
CPUOFF |
Выключение ЦПУ. Когда этот бит установлен, ЦПУ выключено | ||
GIE |
Общий бит разрешения прерываний. Когда этот бит установлен, маскируемые прерывания разрешены. После сброса все маскируемые прерывания запрещены | ||
N |
Флаг отрицательного результата. Этот бит устанавливается, если результат арифметической операции отрицателен, и сбрасывается, если результат положителен | ||
Операции со словами |
Бит N равен значению 15-го бита результата | ||
Операции с байтами |
Бит N равен значению 7-го бита результата | ||
Z |
Флаг нуля. Этот бит устанавливается, если результат арифметической операции равен нулю, и сбрасывается в противном случае | ||
C |
Флаг переноса. Этот бит устанавливается, если при выполнении арифметической операции возникает перенос, и сбрасывается, если переноса не возникает |