Главная страница
Навигация по странице:

  • «ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА) Кафедра ИИСТ ОТЧЕТ по лабораторной работе №1 по дисциплине «МПУ в ИИТ»

  • Лабораторная работа №1 Создание программ на языке Ассемблера в среде ECLIPSE Цель работы

  • Описание использованных регистров

  • Листинг программы

  • Описание технологии разработки и отладки программ на языке ассемблера

  • Создание программ на языке Ассемблера в среде ECLIPSE. МПУ Лаб 1. Создание программ на языке Ассемблера в среде eclipse


    Скачать 129.27 Kb.
    НазваниеСоздание программ на языке Ассемблера в среде eclipse
    АнкорСоздание программ на языке Ассемблера в среде ECLIPSE
    Дата10.07.2022
    Размер129.27 Kb.
    Формат файлаdocx
    Имя файлаМПУ Лаб 1.docx
    ТипЛабораторная работа
    #628149

    МИНОБРНАУКИ РОССИИ

    САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

    «ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)

    Кафедра ИИСТ

    ОТЧЕТ

    по лабораторной работе №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 :

    blink:

    ldr r1, =PIOA_SODR

    200034: e59f1030 ldr r1, [pc, #48] ; 20006c

    str r0, [r1]

    200038: e5810000 str r0, [r1]

    bl wait

    20003c: eb000003 bl 200050

    ldr r1, =PIOA_CODR

    200040: e59f1028 ldr r1, [pc, #40] ; 200070

    str r0, [r1]

    200044: e5810000 str r0, [r1]

    bl wait

    200048: eb000000 bl 200050

    b blink

    20004c: eafffff8 b 200034
    00200050 :

    wait:

    ldr r4, =0

    200050: e3a04000 mov r4, #0

    .Lwait:

    add r4, #1

    200054: e2844001 add r4, r4, #1

    cmp r4, #0x100000

    200058: e3540601 cmp r4, #1048576 ; 0x100000

    bne .Lwait

    20005c: 1afffffc bne 200054

    mov pc, lr

    200060: e1a0f00e mov pc, lr

    200064: fffff400 ; instruction: 0xfffff400

    200068: fffff410 ; instruction: 0xfffff410

    20006c: fffff430 ; instruction: 0xfffff430

    200070: fffff434 ; instruction: 0xfffff434


    Описание технологии разработки и отладки программ на языке ассемблера:
    Для разработки программы на языке ассемблера необходимо создать новый проект, и для успешной его сборки в каталог проекта загрузить определенный набор файлов, среди которых будут файлы системы автоматизации сборки, настройки компоновщика, а также некоторые другие важные данные. Эти файлы импортируются в проект из заранее подготовленной специальной директории.

    После этого, с помощью команд ассемблера происходит преобразование заранее составленного алгоритма работы программы в исходный код программы, сохраняемый в файле с расширением .s. После того, как файл с исходным кодом будет содержать в себе команды, в теории исполняющие желаемый алгоритм, производится построение программы. Если во время построения программы, компилятор укажет на синтаксические ошибки в коде, их необходимо будет исправить и повторно произвести построение программы.

    После успешного построения программы и загрузки ее в память микроконтроллера необходимо загрузить специальную программу отладки для работы с данным типом микроконтроллеров. Программа отладки позволяет производить построчное выполнение программного кода с одновременной возможностью наблюдения за состоянием регистров и значениями переменных. Необходимо проверить, чтобы все значения, сохраняемые в переменных и регистрах совпадали с ожиданиями и были предсказуемы, для отсутствия ошибок при дальнейшей работе программы. Если во время отладки в код были внесены какие-либо изменения, необходимо заново перестроить программу и заново начать производить отладку.

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

    Вывод:


    В ходе выполнения данной лабораторной работы была создана, загружена в память микроконтроллера и проверена в действии программа для микроконтроллера AT91SAM7S. Были изучены основные этапы создания программы на языке ассемблера, включающие в себя создание нового проекта, его построение, исправление ошибок и отладку.


    написать администратору сайта