Изучение программы инкрементирования и декрементирования регистров в интегрированной среде программирования 'CASMAVR'
Изучение программы
инкрементирования и декрементирования регистров в интегрированной среде
программирования «CASMAVR»
ассемблер casmavr файл программа
Цель работы
Освоить среду программирования «CASMAVR»
Ход работы
Запустить на инструментальном
компьютере интегрированную систему программирования «Турбо Ассемблер-AVR» (CasmAVR.exe). Командой File/New создать новый файл и
командой File/Save As сохранить его с именем, например, demo2.asm. Используя редактор
текста, создать демонстрационную программу. В файл demo2.asm поместить следующий
текст:
; My very first AVR
Project0x0000RESET:R20, 0XFF:R20
rjmp Loop
4. После последней команды должно быть введено «ENTER» (нажата клавиша).
1. Выполнить настройку
интегрированной среды программирования.
2. С помощью команды Windows/Resource открыть справа от окна
редактора текста окно отображения ресурсов микропроцессорной системы.
. Инициализировать систему
командой Ran/Programm/Reset
4. Вызвать окно Disassembler, используя его информацию, определить адрес каждой команды программы,
её код, формат (в байтах) и время выполнения, а также время выполнения всей
программы.
5. Изменить значение dec в предпоследней строке на inc и снова
инициализировать программу, отметить изменения, инициируя выполнение каждой
команды клавишей F7.
6. Вызвать окно Disassembler и убедиться в изменении информации.
Рис. 1
Рис. 2
Рис. 4
Контрольные вопросы
1. Объяснить названия команд в
каждой строке.
2. Сколько операндов выбирается
из файла регистров за один тактовый цикл
. Пояснить назначение меток.
Ответы на контрольные вопросы
. rjmp RESET - управление командой
сброса
RESET: - сброс
ldi R20, 0XFF - загрузка старшего байта указателя стека в R20
Loop: - управление ходом выполнения программы
dec R20 (inc R20) -Loop -
. За один тактовый цикл выбираются
два операнда
. rjmp - адрес перехода
Ldi - загрузка команды в регистр
Dec - уменьшение на единицу содержимого ячейки памяти
Inc - увеличение на единицу содержимого ячейки памяти.