2.  Поставьте контрольную точку в конце программы. Запустите программу. Убедитесь, что возврат в основную программу не выполняется. Выясните причину и устраните ее.

3.  Убедитесь в работоспособности модифицированной программы. Покажите результат ее работы преподавателю.

Часть 4. Использование файлов с исходными данными в AMP

1.  Создайте файл и поместите в него исходные значения. Для этого используйте любой текстовый редактор и представление чисел в шестнадцатеричной форме. В качестве разделителя может использоваться любой символ. Загрузите файл в оперативную память, начиная с заданного адреса. Используйте команду Load file into memory из меню Action приложения AMP. В появившемся окне задайте имя файла с указанием пути к нему, в поле «формат файла» окна браузера задайте Delimited hexadecimal value file, символ разделителя и начальный адрес оперативной памяти. Убедитесь в правильности заполнения памяти.

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

3.  Используя AMP, загрузите исполняемый код программы (файл c расширением.elf) из предыдущей части в оперативную память, начиная с заданного адреса. Для этого в поле «формат файла» окна браузера, выберите пункт Binary format. Чтобы убедиться в правильности загрузки программы, визуально сравните содержимое областей памяти, в которую вами загружена программа и той, в которой она изначально была загружена AMP. Обратите внимание! Изменения в окне дизассемблирования будут отсутствовать. Также, первые 0х74 байта загруженного кода будут содержать служебную информацию.

НЕ нашли? Не то? Что вы ищете?

4.  Выполните программу. Для этого поместите в PC стартовый адрес программы и используйте команду Action > Continue. Предварительно погасите светодиоды так, как это выполнялось в предыдущей лабораторной работе. Для того, чтобы проверить правильность выполнения команды call, поставьте по адресу этой команды контрольную точку. После достижения контрольной точки выполните следующие команды по шагам. Проверьте правильность перехода к процедуре Max. Отразите в отчете.

Индивидуальное задание

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

1.  Напишите программу, которая использует рекурсию для вычисления факториала числа N. N!=N(N-1)(N-2)…*3*2*1. Заметьте, что N!=N*(N-1)! Программа включает подпрограмму Factor, которая вызывает сама себя до тех пор, пока желаемый факториал не будет получен. Основная программа должна ввести параметр N, задаваемый с помощью переключателей, затем передать N как параметр, размещая его в стеке. Подпрограмма может вернуть результат через регистр R4, либо через стек. Программа Factor вызывает сама себя. Перед вызовом не забудьте сохранять адрес возврата (регистр ra) в стеке и восстанавливать после возврата. Покажите результат работы программы преподавателю.

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

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

4.  Напишите программу, которая осуществляет упорядочивание чисел в списке в убывающем порядке. Каждое число представляет собой 32-разрядное число без знака. Оформите ее в виде подпрограммы, которой передаются параметры: адрес списка в ОП, число слов в списке.

5.  Напишите программу, вычисляющую первые n чисел Фибоначчи. Числа 32 – разрядные. Они вычисляются по формуле An=An-1+An-2 и и записываются в оперативную память. Первые числа выглядят следующим образом: 0,1,1,2,3,5,8…. Оформите в виде подпрограммы, которой передаются параметры: адрес ОП, число n.

6.  Напишите программу, вычисляющую максимальное количество повторяющихся нулевых и единичных разрядов в числе, хранящемся в ОП. Адрес числа может быть произвольным. Оформите в виде подпрограммы, передав в качестве параметров: адрес ОП и размер числа в байтах (не более 4). Вывод найденных значений осуществите на красные и зеленые светодиоды.

7.  Напишите программу, вычисляющую количество положительных и отрицательных фронтов в числе, хранящемся в ОП. Например, число 0b10010110 содержит 2 положительных и 3 отрицательных фронта. Адрес числа может быть произвольным. Оформите в виде подпрограммы, передав в качестве параметров адрес ОП и размер числа в байтах (не более 4). Вывод найденных значений осуществите на красные и зеленые светодиоды.

Таблица 3 Варианты заданий к лабораторной работе № 2

Номер рабочего места

Название стенда

Номер задания

VT-L14

NEEK

4

VT-L13

miniDiLab

1

VT-L12

DiLab

5

VT-L11

DE2-70

6

VT-L10

DE2-70

7

VT-L9

DE0

3

VT-L8

DE0

2

Отчетные материалы

Отчетные материалы должны содержать:

1.  Цель лабораторной работы.

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

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

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

5.  Краткое заключение.

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

Реализация ввода/вывода информации в процессорной системе

Цель работы: изучение возможностей ввода/вывода информации в процессорной системе.

Исходные файлы лабораторной работы

В приложении приводится исходный файл тестовой программы interrupt_example.s. В программе используются прерывания от таймера и кнопок. Обработчик прерывания от таймера содержится в файле interval_timer.s. Обработчик прерывания от кнопок содержится в файле pushbutton_ISR.s. Обработчик исключений, задачей которого является определение причины прерывания и вызов соответствующей процедуры, содержится в файле exception_handler.s.

Подготовка к лабораторной работе

Для выполнения лабораторной работы необходимо изучить по материалам лекций и предложенной литературе.

1.  Организацию обмена ЭВМ с периферийными устройствами.

2.  Реализацию прерываний в процессорной системе NIOSII. Используемые для этого регистры процессора и портов ввода – вывода.

3.  Уясните пример программы, в которой используются прерывания, и реализацию обработчика прерываний из описания процессорной системы «DE2- 70 Media Computer»[9]. Вставьте его в отчет.

4.  Уясните пункты задания, выполняемого в текущей лабораторной работе, и напишите программные заготовки для их выполнения.

5.  Уясните выполнение команды trap. Вставьте в отчет ее формат и краткое описание. Напишите программную заготовку для выполнения пункта 1 части 6.

6.  Уясните выполнение команды mul. Вставьте в отчет ее формат и краткое описание. Напишите программу, которая будет выполнять программную эмуляцию команды умножения.

В лабораторной работе в качестве устройств ввода будут использоваться переключатели SWITCH и кнопки KEY3, KEY2, KEY1. В качестве устройств вывода – зеленые светодиоды LEDG 7..0, красные светодиоды LEDR 17..0, индикаторы шестнадцатеричной цифры HEX 7..0. Для связи с каждым устройством используются параллельные порты ввода/вывода (PIO). Адреса портов и принцип их работы приведены в описании процессорной системы [9].

В лабораторной работе решается задача сложения 8-разрядных чисел с знаком, которые задаются переключателями SWITCH 7..0. Набранное число отображается на зеленых светодиодах. Вычисленная сумма сохраняется в регистре, младшая часть которого отображается на красных светодиодах.

Порядок выполнения лабораторной работы

Часть 1. Программно управляемый ввод с переключателей и вывод на светодиоды

Используйте 8 переключателей SW 7..0 для задания вводимого числа. Используйте 8 зеленых светодиодов LEDG 7..0 для отображения вводимого числа. Используйте 18 красных светодиодов LEDR 17..0 для отображения младших разрядов вычисленной суммы. Все эти компоненты подключаются через параллельные порты к мультимедийной процессорной системе.

1.  Напишите программу на языке ассемблер, которая вначале обнуляет сумму, затем читает 8-разрядное значение (число со знаком в дополнительном коде), задаваемое переключателями SW 7..0, отображает прочитанное значение на зеленых светодиодах, выполняет сложение введенного числа с накопленной суммой, выводит сумму на красные светодиоды. Осуществляет переход на ввод очередного числа, выполняя бесконечный цикл.

2.  Создайте новую папку lab3_part1. Поместите Вашу программу в эту папку.

3.  Используйте приложение AMP для создания нового проекта part1 в этой папке. Выберите Вашу программу и загрузите процессорную систему в программируемый кристалл ПЛИС. Выберите подходящую память для размещения Вашей программы. Разместите сегменты кода и данных, начиная с адреса 0х1000. Область в начале оперативной памяти понадобится в последующем для размещения обработчиков сброса и прерываний процессорной системы. Скомпилируйте и загрузите Вашу программу.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11

Основные порталы (построено редакторами)

Домашний очаг

ДомДачаСадоводствоДетиАктивность ребенкаИгрыКрасотаЖенщины(Беременность)СемьяХобби
Здоровье: • АнатомияБолезниВредные привычкиДиагностикаНародная медицинаПервая помощьПитаниеФармацевтика
История: СССРИстория РоссииРоссийская Империя
Окружающий мир: Животный мирДомашние животныеНасекомыеРастенияПриродаКатаклизмыКосмосКлиматСтихийные бедствия

Справочная информация

ДокументыЗаконыИзвещенияУтверждения документовДоговораЗапросы предложенийТехнические заданияПланы развитияДокументоведениеАналитикаМероприятияКонкурсыИтогиАдминистрации городовПриказыКонтрактыВыполнение работПротоколы рассмотрения заявокАукционыПроектыПротоколыБюджетные организации
МуниципалитетыРайоныОбразованияПрограммы
Отчеты: • по упоминаниямДокументная базаЦенные бумаги
Положения: • Финансовые документы
Постановления: • Рубрикатор по темамФинансыгорода Российской Федерациирегионыпо точным датам
Регламенты
Термины: • Научная терминологияФинансоваяЭкономическая
Время: • Даты2015 год2016 год
Документы в финансовой сферев инвестиционнойФинансовые документы - программы

Техника

АвиацияАвтоВычислительная техникаОборудование(Электрооборудование)РадиоТехнологии(Аудио-видео)(Компьютеры)

Общество

БезопасностьГражданские права и свободыИскусство(Музыка)Культура(Этика)Мировые именаПолитика(Геополитика)(Идеологические конфликты)ВластьЗаговоры и переворотыГражданская позицияМиграцияРелигии и верования(Конфессии)ХристианствоМифологияРазвлеченияМасс МедиаСпорт (Боевые искусства)ТранспортТуризм
Войны и конфликты: АрмияВоенная техникаЗвания и награды

Образование и наука

Наука: Контрольные работыНаучно-технический прогрессПедагогикаРабочие программыФакультетыМетодические рекомендацииШколаПрофессиональное образованиеМотивация учащихся
Предметы: БиологияГеографияГеологияИсторияЛитератураЛитературные жанрыЛитературные героиМатематикаМедицинаМузыкаПравоЖилищное правоЗемельное правоУголовное правоКодексыПсихология (Логика) • Русский языкСоциологияФизикаФилологияФилософияХимияЮриспруденция

Мир

Регионы: АзияАмерикаАфрикаЕвропаПрибалтикаЕвропейская политикаОкеанияГорода мира
Россия: • МоскваКавказ
Регионы РоссииПрограммы регионовЭкономика

Бизнес и финансы

Бизнес: • БанкиБогатство и благосостояниеКоррупция(Преступность)МаркетингМенеджментИнвестицииЦенные бумаги: • УправлениеОткрытые акционерные обществаПроектыДокументыЦенные бумаги - контрольЦенные бумаги - оценкиОблигацииДолгиВалютаНедвижимость(Аренда)ПрофессииРаботаТорговляУслугиФинансыСтрахованиеБюджетФинансовые услугиКредитыКомпанииГосударственные предприятияЭкономикаМакроэкономикаМикроэкономикаНалогиАудит
Промышленность: • МеталлургияНефтьСельское хозяйствоЭнергетика
СтроительствоАрхитектураИнтерьерПолы и перекрытияПроцесс строительстваСтроительные материалыТеплоизоляцияЭкстерьерОрганизация и управление производством