Лабораторная работа №1

Тема.

Написание простейшего модуля на языке Assembler. Создание и компиляция первого проекта в среде IAR.

Цель.

Познакомиться с одной из популярнейших сред разработки программ для микроконтроллеров.

Содержание отчёта по лабораторной работе.

1.  Описание последовательности действий для создания проекта, ошибочных действий в том числе.

2.  Исходный текст функции main()

3.  Исходный текст простейшего модуля (функции) на языке С.

4.  Исходный текст его аналога на Assembler-e.

5.  Отчет вместе с проектом разместить redmine.

Замечание. Исходный текст на Assembler-e должен быть снабжен подробными комментариями в каждой строке. Также он должен быть уникален, т. е. разработан самостоятельно, а не переписан у одногруппника.

Лабораторная работа №2

Тема. Исследование битовых полей машинного кода с помощью дизассемблера.

Цель.

Изучить структуру и алгоритм формирования hex-файлов, получить навыки редактирования таких файлов.

Содержание работы

1.  Создать новый проект.

2.  Создать файл исходного кода функции (скелета) на языке Assembler и включить его в проект.

3.  Изменить настройки проекта (options) таким образом, чтобы сформировался загрузочный код вашей программы в Intel-HEX формате.

4.  Написать исходный ассемблерный файл так, чтобы его машинный код легко находился в сформированном hex-файле в обычном текстовом редакторе.

5.  Изучить формат hex-файла. Отметить различия в представлении машинного кода в дизассемблере и hex-файле.

6.  Последовательно меняя операнды заданной команды исследовать назначение битовых полей машинного кода этой команды.

Студент команда для исследования

1. LDM

2. LDR

3. РОР

4. С PUSH

5. STM

6. ADR

7. А. В

8. BL, BX, BLX

9. REV, REV16

7.  На основании полученных знаний отредактировать (модифицировать) одну из строк hex-файла.

Содержание отчёта по лабораторной работе.

1.  Подробное описание (протоколирование) работы с использованием копий экрана (screenshort-ов), ошибочных (неудачных) попыток в том числе.

2.  Описание назначения битовых полей исследованной команды.

3.  Побайтное описание строки из hex-файла, содержащей исследованную команду.

4.  Папка с проектом данной лабораторной работы должна быть полностью сохранена в redmine.

Замечание. Допускается представлять только электронную копию отчета, но она должна быть немедленно распечатана по первому требованию преподавателя.

Лабораторная работа №3

Тема: Исследование условного исполнения группы команд, одной из особенностей ядра Cortex-M3.

Лабораторная работа №4

Тема: Макросредства языка Assembler.

Цель: Научиться разрабатывать эффективный (быстро работающий) и компактный (читаемый) код на языке Assembler.