Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МП устройства СУ / Руководство по изучению дисциплины МП устройства (бакалавры).doc
Скачиваний:
43
Добавлен:
19.03.2015
Размер:
121.86 Кб
Скачать

2.7. Задания на контрольную работу.

Контрольная работа выполняется студентами только заочной формы обучения. Выполненная и защищенная контрольная работа является допуском к экзамену при условии, что выполнен и защищен курсовой проект. Контрольная работа содержит по 2 задачи, заключающихся в написании программ на языке Ассемблера или описании действий микропроцессора, вызываемых обработкой тех или иных команд. Студент выбирает задания попарно по последней цифре своего шифра. Например, цифре 1 соответствуют задачи №1 и №11, цифре 2 - №2 и № 12 и т д. Цифре 0 соответствует пара задач №10 и №20. Решения задач следует сопроводить необходимыми пояснениями.

Задача № 1

В результате сложения двух чисел аккумулятор содержит число 2С16 , разряд признака переноса СF содержит 1, признака АС- 0. Определить содержимое аккумулятора после выполнения команды DAA.

Задача № 2

Регистр А содержит число 6D16, ячейка памяти с адресом 01CF16 - число А516, регистр B - число 0116, а регистр C – число CF16. Определить содержимое регистра А после выполнения команды LDX A,BC.

Задача №3

Написать программу, по которой, не изменяя значения остальных разрядов, изменить на противоположное значение 6-ого разряда содержимого ячейки памяти с адресом CF2A16.

Задача № 4

Последняя заполненная стековая ячейка имеет адрес А3F016. Что будет записано в стек, в счетчик команд и в указатель стека непосредственно после выполнения команды CALL 7AECH, адрес которой ECEE16?

Задача № 5

После выполнения трехбайтовой команды с адресом ECEE16 микропроцессор переходит в режим прерывания и выполняет команду RST 6. Что будет записано в стек, в счетчик команд и в указатель стека после выполнения этой команды, если ранее в указателе стека было число 2F0116?

Задача № 6

Написать программу, по которой содержимое регистровой пары DE последовательно уменьшается на единицу до тех пор, пока не станет равным 0, после чего осуществить переход к выполнению дальнейшей программы. Первоначальные значения регистровой пары ввести через порты ввода 1 и 2.

Задача № 7

Регистр А содержит число 8716, регистр В - число 8916. Что будет содержать регистр А после выполнения команд ADD А,B и DAA?

Задача № 8

Написать программу, по которой содержимое регистровой пары HL сдвигается влево (в сторону старших разрядов) на четыре разряда.

Задача №9

Написать программу вычитания содержимого ячейки памяти с адресом D0A616 из содержимого регистра D. Если результат окажется отрицательным, перейти к команде с меткой FOR1, если результат окажется положительным - к команде с меткой FOR2. Рассмотреть два случая написания программы: в первом случае вычитаемое и вычитатель положительные и представлены в прямых кодах, во втором случае – знакопеременные и представлены в дополнительных кодах.

Задача №10

Написать программу, по которой проверяется байт в ячейки памяти с адресом CD7A16. Если число единиц этого байта чётно осуществляется переход к команде с меткой МЕТ1, в противном случае – к команде с меткой МЕТ3.

Задача № 11

Написать программу сложения значений, опрошенных через порты ввода 1 и 2. Результат должен размещаться в ячейках памяти A8CD16 и A8CE16. При этом старшая ячейка должна формироваться значением переноса, если он возник при сложении.

Задача № 12

Написать программу, по которой подсчитывается число единиц в двух байтах, хранящихся в ячейках памяти А8CD16 и А8CE16.

Задача №13

Написать программу, по которой сравниваются два числа, хранящихся в ячейках памяти с адресом CEF916 и CEFA16. Большее из этих чисел вывести в порт вывода 5. Считать, что содержимое ячеек памяти положительное и представлено в прямых кодах.

Задача №14

Написать программу, по которой постоянно проверяется значение шестого разряда байта на входе порта ввода 5. Если значение этого разряда изменилось, в порт вывода 8 выводится число 0F16, если нет – число 0016.

Задача №15

Написать программу, обнуляющую 500 ячеек памяти в сторону увеличения их адресов, начиная с ячейки памяти с адресом С28Е16.

Задача №16

К порту ввода 1 подсоединены кнопки, из которых может быть одновременно нажата только одна. Написать программу, по которой постоянно производится опрос порта ввода и выводится в порт вывода 2 двоичный код номера нажатой кнопки. При отсутствии нажатой кнопки в порт вывода выводится 0.

Задача №17

Написать программу, по которой подсчитать сумму 32 опросов порта ввода 1. Сумму представить двухбайтовым кодом, размещенным в ячейках памяти 800116 и 800216.

Задача №18

На вход порта ввода 1 поступают двоичные коды чисел от 1 до 8. Написать программу, постоянно опрашивающую порт ввода 1 и выводящую единицу в тот разряд порта вывода 4, номер которого соответствует значению числа на входе порта 1.

Задача №19

Время такта равно 1мкс. Написать подпрограмму временной задержки величиной в 1с.

Задача №20

Написать программу, по которой будет подсчитываться количество поступивших единичных импульсов на вход прерывания по 5-й линии. Подсчет прекратить, когда поступит 150 импульсов. По окончании этого подсчета в порт вывода 7 вывести единицу. Считать, что прерывание формирует код команды RST n микропроцессора i8080.