Сборка лекции, страница 3

2017-12-27СтудИзба

Описание файла

Документ из архива "Сборка лекции", который расположен в категории "". Всё это находится в предмете "электроника" из , которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "электроника и микропроцессорная техника" в общих файлах.

Онлайн просмотр документа "Сборка лекции"

Текст 3 страницы из документа "Сборка лекции"

У МК разных типов семейства AVR система команд содержит от 89 до 130 команд.

Базовая система содержит 118 команд со своими мнемокодами (символьный псевдоним 16-разрядной команды), которые используются при написании программ на языке AVR ассемблера.

Базовая система команд содержит:

- 33 команды регистровых операций, при выполнении которых используются только регистры ОН;

- 26 команд с обращением по адресу в ОЗУ;

- 2 команды с обращением к регистрам ввода вывода;

- 1 команда с обращением к ПЗУ команд;

- 22 команды операций с битами в разрядах регистров общего назначения и регистров ввода-вывода;

- 34 команды управления ходом программы.

Rd, Rr – регистры общего назначения (регистр-приёмник, регистр-источник);

(Rd), (Rr) – содержимое регистров Rd и Rr соответственно;

Rd.b – разряд (b = 0-7) регистра;

$, 0x - указатель шестнадцатеричного кода;

k – адрес из адресного пространства ОЗУ;

K – байт данных (8 бит)

X,Y,Z – пары регистров общего назначения X (R26,R27), Y (R28,R29), Z (R30, R31)

Команды регистровых операций.

В эту группу входят команды передачи данных, а также команды арифметических и логических операций. Большинство команд группы имеют 16-разрядный формат («слово») и выполняются за один такт.

Команда MOV - пересылает содержимое регистра-источника в регистр-приемник, при этом содержимое регистра-источника и регистра состояния не меняются.

Используется прямой способ адресации. Под способами адресации понимают способы, используемые для указания источников и приемников операндов. В формате команды указаны 5-разрядные адреса регистра-источника и регистра-приемника.

MOV Rd,Rr - копирование содержимого регистра источника Rr в регистр приемник Rd.

16-разрядный код (6 старших разрядов ответственны за код операции, а 10 – определяют конкретные регистры, которые участвуют в выполнении данной операции):

Регистр состояния:

Арифметические операции – сложение ADD и вычитание SUB – могут выполняться с числами без знака и со знаком в дополнительном двоичном коде. Кроме того, предусмотрены команды сложения ADC и вычитания SBS с учетом переноса.

ADD Rd,Rr - сложение без учёта переноса содержимого регистра Rr и регистра Rd. Результатв регистр Rd.

16-разрядный код (6 старших разрядов ответственны за код операции, а 10 – определяют конкретные регистры, которые участвуют в выполнении данной операции):

Регистр состояния:

В систему команд некоторых МК включены команды умножения целых чисел без знака MUL и со знаком MULS.

К этой группе команд относятся логические операции И AND, ИЛИ OR, исключающее ИЛИ FOR, сдвиговые операции влево (LSL, ROL) и вправо (LSR, ROR), команды сравнения в результате выполнения которых формируются только признаки регистра состояния CP.

Команды увеличения и уменьшения содержимого регистров на 1 (INC, DEC).

Команды установки в 0 или 1 состояние всех разрядов регистра (CLR, SER).

Команды, в которых одним из операндов является константа K (LDI, SUBI, SBCI, ANDI, ORI, SBR, CBR), могут использовать только регистры из второй половины регистрового файла (R16-R31).

К этой же группе относятся команды сложения и вычитания содержимого пары регистров и константы, с размещением результата в этой паре (ADIW и SBIW) . В качестве регистровых пар используются 8 старших регистров ОН.

При выполнении арифметических операций контроллер работает с числами, а при выполнении логических – с битами чисел.

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

- бит (признак) регистра состояния не меняется при выполнении операции

+ бит (признак) регистра состояния меняется при выполнении операции

0 - регистр состояния устанавливается в 0

1 - регистр состояния устанавливается в 1

Регистр r30 – один из пары регистров Z.

d – адрес регистра, в которую записывают константу.

d – два регистра, в которых находятся исходные данные

К – число, с которым складываю исходные данные

Команды операций с ОЗУ.

В эту группу входят команды обмена между РОН и регистрами, входящими в единое адресное пространство ОЗУ. Команды с аббревиатурой LDS и STS (LDS – Load Direct from SRAM, STS – Store Direct to SRAM).

Осуществляют копирование содержимого ЯП ОЗУ в РОН и обратно. Команды имеют формат 2 слова, выполняются за 3 цикла, адрес ЯП задается во втором слове формата команды. Т.о. в этих командах используется прямой способ адресации.

В остальных командах этой группы используется косвенный способ адресации, который отличается тем, что адрес ЯП хранится в парах регистров X,Y,Z.

Для того чтобы записать число в оперативную память необходимо выполнить 2 операции:

  1. Записать данные в РОН.

  2. Скопировать данные из РОН в оперативную память с помощью команды STS.

LDS- Load Direct from SRAM

Вопрос: Скопировать содержание старшей ячейки оперативной памяти с помощью данной команды в регистр R2. Какой адрес необходимо указать во втором слове этой команды, если объем ОП 512 байт?

Ответ: $025F (см. таблицу лекции 3 «Адресное пространство ОЗУ (512 байт)») .

Команды, использующие косвенный способ адресации:

Команда LD осуществляет загрузку содержимого ЯП ОЗУ в РОН. Формат команды – слово. Адрес регистра указан в формате команды, адрес ЯП в парахXYZ. Предусмотрены команды, которые увеличивают содержимое пары регистров после пересылки данных и команды, в которых до обмена данными содержимое пары регистров уменьшается на 1.

Команда ST осуществляют обмен между РОН и ЯП ОЗУ.

Команды LDD и STD осуществляют обмен с ЯП, адрес которой определяется как сумма содержимого пары регистров и числа, указанного в формате команды

LD - Load Indirect from SRAM to Register using Index X

Формат команды уменьшается в 2 раза по сравнению с прямым способом адресации.

ST- Store Indirect from Register to SRAM using Index X

Команды, позволяющие использовать стековую область памяти:

В командах (POP, PUSH) обмена РОН с ЯП из стека используется регистр указатель стека. Регистр УС при запуске обнуляется и для нормальной работы МК в него необходимо занести начальный адрес.

Возможное использование: При организации условных переходов, при выполнении прерываний в основную программу необходимо скопировать текущее состояние…

В качестве вершины стека используется старший адрес.

PUSH - Push Register on Stack

POP - Pop Register from Stack

Команды обращения к регистрам ввода/вывода.

Команды осуществляют обмен между РОН и HDD (IN, OUT). Адрес (номер) РВВ – (0-63 или $0 - $3F).

OUT - Store Register to I/O port

Адреса (номера) регистра УС SPL – 3D, SPH – 3E (для МК 512 байт)

;Инициализация указателя стека (обязательно выполняется в начале программы)

ldi r25, $5F ; Записать в регистр (16-31) младший байт адреса

; вершины стека

out $3d, r25 ; Переслать его в регистр УС

ldi r25, $02 ; Записать старший байт адреса

out $3e, r25 ; Переслать его в регистр УС

При записи мнемокода команды вместо конкретного регистра может использоваться его символическое имя. Имена регистров определены в дополнительных файлах для каждого МК, в котором помимо этого определены регистры указатели XL, XH… ZL, ZH и старший адрес ОЗУ.

.include “8535def.inc” ;Подключить файл описаний имен РВВ

ldi r25, LOW(RAMEND)

out spl, r25

ldi r25, HIGH(RAMEND)

out sph, r25

Указатель стека занимает в адресном пространстве регистров ввода/вывода 2 регистра. Их адреса: $3d, $3e.

IN - Load an I/O Port to Register

Команды обмена с ПЗУ программ.

Команды осуществляют обмен между половиной ЯП ПЗУП и регистром R0. адрес ЯП определенным образом формируется в Z-паре. Мнемокод команды LPM (Load Program Memory). Время выполнения 3 цикла.

ПЗУ данных.

В системе команд нет команд обмена с ПЗУ данных. Для выполнения такого обмена необходимо выполнить последовательность операций с использованием регистров из адресного пространства РВВ. Время выполнения операции обмена составляет от 2.5 до 4 мкс.

Команды операций с битами.

Команды BLD, BST выполняют пересылку (копирование) байта между разрядом регистра ОН и разрядом Т регистра состояния.

Команды CBI, SBI устанавливают в требуемое состояние (0 или1) указанный разряд РВВ, а команды BCLR и BSET производят те же действия над разрядами регистра состояния.

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

BLD - Bit Load from the T Flag in SREG to a bit in Register

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее