
- •1 Сочетание
- •2 Сочетание
- •1 Мл. Бит ст. Бит мл. Бит ячейка памяти
- •2 Ст. Бит мл. Бит ячейка памяти
- •3 Ст. Бит мл. Бит ячейка памяти
- •1 Сочетание
- •2 Сочетание
- •1 Мл. Бит ячейка памяти
- •2 Мл. Бит ст. Бит ячейка памяти
- •3 Ячейка памяти
- •1 Мл. Бит ячейка памяти
- •2 Мл. Бит ст. Бит ячейка памяти
- •3 Ст. Бит ячейка памяти
- •1 Сочетание
- •2 Сочетание
- •1 Мл. Бит ячейка памяти
- •2 Ст. Бит мл. Бит ячейка памяти
- •3 Ст. Бит ячейка памяти
- •1 Сочетание
- •2 Сочетание
- •3 Сочетание
- •1 Мл. Бит ячейка памяти
- •2 Мл. Бит ст. Бит ячейка памяти
- •3 Мл. Бит ст. Бит ячейка памяти
- •1 Мл. Бит ячейка памяти
- •2 Мл. Бит ст. Бит ячейка памяти
- •3 Ст. Бит ячейка памяти
- •Приложения
Министерство образования и науки Российской Федерации
Магнитогорский государственный технический университет
им. Г. И. Носова
С.И. Лукьянов
Д.В. Швидченко
Е.С. Суспицын
Р.С. Пишнограев
КУРСОВОЕ ПРОЕКТИРОВАНИЕ ПО ДИСЦИПЛИНАМ «МАШИННЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ»
И «ОСНОВЫ МИКРОПРОЦЕССОРНОЙ ТЕХНИКИ»
Учебное пособие
Магнитогорск
2010
УДК 681.325.5(075)
Рецензенты:
Заведующая кафедрой ПиРЛ МаГУ
доцент, кандидат педагогических наук
О.Г. Петушкова
Начальник Центральной электротехнической
лаборатории ОАО «ММК»
В.В. Головин
С. И. Лукьянов, Д.В. Швидченко, Е.С. Суспицын, Р.С. Пишнограев
«Курсовое проектирование по дисциплинам «Машинные языки программирования» и «Основы микропроцессорной техники»»: Учебное пособие – Магнитогорск: МГТУ им. Г.И. Носова, 2010. – 49 с.
В учебном пособии приведены варианты заданий курсового проектирования по дисциплинам «Машинные языки программирования» и «Основы микропроцессорной техники» для студентов специальности 210106 «Промышленная электроника» и направления 210100 «Электроника и микроэлектроника». Приведен пример оформления курсового проекта и система команд микропроцессора КР580ВМ80А.
© Лукьянов С.И., Швидченко Д.В..,
Суспицын Е.С., Пишнограев Р.С. 2010
КУРСОВАЯ РАБОТА ПО ДИСЦИПЛИНЕ
"МАШИННЫЕ ЯЗЫКИ ПРОГРАМИРОВАНИЯ"
ЗАДАНИЕ
Разработать и на учебном микропроцессорном комплекте микропроцессорной системы КР580ВМ80А отладить программу по варианту задания.
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
Выполнить анализ поставленной задачи и определить пути ее решения.
Разработать общую блок-схему алгоритма выполнения программы и провести привязку переменных и констант к элементам памяти структурной схемы микропроцессора.
Разработать подробный алгоритм решения задачи и программу на языке Ассемблера МП КР580ВМ80А (см. приложение А).
Разработать программу в машинных кодах МП КР580ВМ80А (см. приложение В) и составить карту памяти по функциональному назначению программы.
Загрузить программу в учебный микропроцессорный комплект и проверить достоверность ее выполнения на контрольном примере, заданном преподавателем.
Оформить пояснительную записку.
СОДЕРЖАНИЕ ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ
Оформить титульный лист по предлагаемому образцу (приложение Е).
Анализ поставленной задачи и определение возможных путей ее решения.
Привязка к конкретным регистрам микропроцессора и памяти с доказательством и, если необходимо, расчетами.
Подробная блок-схема алгоритма решения поставленной задачи и ее подробное описание. Алгоритм оформить по предложенному образцу (приложение F).
Описание программы на языке Ассемблера и в машинных кодах в соответствии с рекомендуемой таблицей (приложение G).
Подробные выводы по работе.
ВАРИАНТЫ ЗАДАНИЙ ДЛЯ КУРСОВОГО ПРОЕКТИРОВАНИЯ ПО ДИЦИПЛИНЕ "МАШИННЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ"
Рассчитать контрольную сумму ПЗУ с адреса 0000h по адрес 0100h. Учитывать перенос в старший байт и знак. Предусмотреть возможность переноса программы в адресном пространстве. Определить количество отрицательных чисел в массиве, модуль которых больше 3. Формат чисел:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Модуль числа |
З |
где: З – знак числа.
П
1 Сочетание
2 Сочетание
одсчитать число сочетаний «11» в адресном пространстве 0000h – 0100h. Начальный и конечный адрес должны находиться в ячейках памяти 0800h, 0801h и 0802h, 0803h соответственно. Например:
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
Модуль числа |
Составить тест-программу ОЗУ на запись С9h с адреса 0900h по адрес 0A00h. Начальный и конечный адреса массива ОЗУ должны находиться в ячейках памяти 0800h, 0801h и 0802h, 0803h соответственно. Предусмотреть сохранение адресов сбойных ячеек (ячейки, в которых записано любое число, кроме С9h) по адресу 0А01h.
Составить программу сложения 5 чисел с учетом знака и переноса. Числа находятся в адресном пространстве 0800h – 0804h. При этом числа имеют следующий формат:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Модуль числа |
Х |
З |
Модуль числа |
где: Х – незначащие биты числа, З – знак числа. Кроме суммы определить количество положительных и отрицательных чисел в массиве.
Найти минимальное по модулю число из массива чисел, находящихся в адресном пространстве с адреса 0900h и имеющих следующий формат:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Х |
Модуль числа |
З |
Х |
Х |
где: Х – незначащие биты числа, З – знак числа. Объем массива задается в ячейке памяти 08FFh. Определить модуль максимального числа.
Составить тест-программу перемещения произвольного количества чисел с начального адреса 0805h в начальный адрес 0905h. Объем массива задается в ячейке памяти 0800h. Числа имеют следующий формат:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Х |
Х |
Модуль числа |
З |
Модуль числа |
где: Х – незначащие биты числа, З – знак числа. Предусмотреть расширение чисел по знаку. Контролировать правильность переноса и подсчитать количество сбойных ячеек. После переноса найти сумму первого и последнего чисел, модуль которых больше 5, с учетом знака и переноса, ответ записать в ячейку памяти после массива чисел.
Найти последнее четное отрицательное число в адресном пространстве ОЗУ с адреса 0800h по адрес 0900h. Предусмотреть возможность переноса программы в адресном пространстве ОЗУ. Сохранять в памяти адрес последнего четного отрицательного числа. Формат чисел:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
З |
Модуль числа |
Х |
Х |
где: Х – незначащие биты числа, З – знак числа. Подсчитать количество всех отрицательных чисел в массиве.
Расположить в порядке возрастания модулей числа, находящиеся в адресном пространстве 0800h – 0900h. Старший бит – знаковый. Начальный и конечный адрес массива данных расположить в ячейках 0900h – 0903h. Формат чисел:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
З |
Модуль числа |
где: З – знак числа. Подсчитать количество нечетных чисел.
Отфильтровать положительные числа массива данных с адреса 0800h по адрес 0900h. Положительные числа инвертировать (т.е. заменить их знак) и расположить в этом же адресном пространстве в порядке их следования в исходном массиве. Формат чисел:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Х |
Х |
З |
Модуль числа |
где: Х – незначащие биты числа, З – знак числа. Подсчитать количество отрицательных чисел в массиве.
Сложить 5 двухбайтных чисел, находящихся в адресном пространстве 0800h – 0809h, с учетом знака и переноса из старшего бита суммы. Ответ разместить в ячейках 080Аh – 090Сh. Лишние биты суммы заполнить нулями. Формат чисел:
младший байт
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Модуль числа |
З |
старший байт
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Модуль числа |
где: З – знак числа.
В адресном пространстве 0800h – 0900h записана последовательность 7 битных чисел. Причем, в целях экономии объема ОЗУ биты записываются один за другим. Найти и записать максимальное число и его порядковый номер. Формат чисел: