МИНОБРНАУКИ РОССИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра ИИСТ
ОТЧЕТ
по лабораторной работе №1
по дисциплине «МПУ в ИИТ»
Тема: «Создание программ на языке Ассемблера в среде ECLIPSE» Студенты гр.
Подгруппы 2.1.
Преподаватель __________________ Марченков Р.Ю.
Санкт-Петербург
2019
Лабораторная работа №1 Создание программ на языке Ассемблера в среде ECLIPSE Цель работы:
Освоение технологии создания программ на языке низкого уровня. Задание:
1. Создать проект.
2. Набрать исходный текст программы на языке ассемблера.
3. Отладить программу.
Алгоритм работы программы:
Основные теоретические положения: Проект – это набор файлов и настроек, предназначенных для работы над отдельной программой.
Листинг программы – это текстовый файл, в котором программа представлена в виде совмещения исходного текста и машинного кода в читаемом виде. Описание заготовочных файлов:
Описание использованных регистров: В работе программы используются регистры общего назначения r0, r1, r4
r0 - используется в программе для хранения номера выхода, с которым производится работа
r1 - используется в программе для хранения адресов
r4 - используется для подпрограммы задержки, изначально равен 0, во время исполнения задержки хранит в себе инкрементируемое число. Листинг программы: Lab1.elf: file format elf32-littlearm
Disassembly of section .text: 00200000 <_vectors_>:
.include "at91sam7s64.inc"
.text
.section .text.vectors
ResetVector:
b start
200000: ea000006 b 200020 <_start_>
200004: 00000000 andeq r0, r0, r0
200008: 00000000 andeq r0, r0, r0
20000c: 00000000 andeq r0, r0, r0
200010: 00000000 andeq r0, r0, r0
200014: 00000000 andeq r0, r0, r0
200018: 00000000 andeq r0, r0, r0
20001c: 00000000 andeq r0, r0, r0 Disassembly of section .text.program: 00200020 :
.section .text.program
start:
mov r0, #0x040000
200020: e3a00701 mov r0, #262144 ; 0x40000
ldr r1, =PIOA_PER
200024: e59f1038 ldr r1, [pc, #56] ; 200064
str r0, [r1]
200028: e5810000 str r0, [r1]
ldr r1, =PIOA_OER
20002c: e59f1034 ldr r1, [pc, #52] ; 200068
str r0, [r1]
200030: e5810000 str r0, [r1] 00200034 |