3.9. Задания для самостоятельной работы
1. Напишите программу, которая обнуляет содержимое регистров R5, R6, R7 0-го банка регистров. Разработайте 4 варианта программы. В первом варианте используйте команды с непосредственной адресацией. Во 2-м варианте используйте команды с прямой адресацией. В 3-м варианте используйте команды с косвенной адресацией. В 4-м варианте используйте аккумулятор и команды пересылки. Определите длину каждой программы, т.е. количество ячеек памяти, которая она занимает. Проверьте правильность работы программ с помощью симулятора AVSIM51.
2. Напишите программу загрузки регистров 0-го банка из памяти данных в соответствии с табл. 3.1. Разработайте 2 варианта программы: с использованием прямой и косвенной адресации.
Таблица 3.1
Адрес |
30H |
40H |
Данные |
22H |
44H |
Регистр |
R2 |
R4 |
Проверьте правильность работы программы.
3. Напишите программу перезаписи из одних ячеек ПД в другие в соответствии с табл. 3.2. Разработайте 2 варианта программы: с прямой и косвенной адресацией.
Таблица 3.2
Адрес исходной ячейки |
22H |
28H |
Адрес записываемой ячейки |
32H |
38H |
Проверьте правильность работы программы, предварительно записав по указанным адресам произвольные данные.
4. Напишите программу запоминания содержимого регистров 0-го банка РОН в памяти данных в соответствии с табл. 3.3. Разработайте 2 варианта программы: с прямой и косвенной адресацией.
Таблица 3.3
Регистр |
R3 |
R6 |
Данные |
33H |
66H |
Адрес ячейки |
28H |
32H |
Проверьте правильность работы программы.
5. Напишите программу записи данных в две области памяти, используя для адресации 1-й области регистр R0, а для 2-й области – регистр R1, в соответствии с табл. 3.4.
Таблица 3.4
Адреса 1-й области |
25H |
27H |
Адреса 2-й области |
35H |
37H |
Данные |
11H |
22H |
Проверьте правильность работы программы.
6. Напишите программу перезаписи из одной области памяти данных (адресуясь через регистр R0) в другую область (адресуясь через регистр R1) в соответствии с табл. 3.5.
Таблица 3.5
Адреса исходной области |
22H |
24H |
Адреса записываемой области |
32H |
34H |
Проверьте правильность работы программы, предварительно записав по указанным адресам произвольные данные
7. Напишите программу, которая заносит в ячейку внешней памяти данных с адресом 10H данные из порта P1.
8. Напишите программу, которая пересылает содержимое ячейки внешней памяти данных с адресом 001BH в порт P2. Указание. Для адресации ячейки ВПД используйте регистр DPTR.
4.Содержание отчета
Наименование и цель работы. Краткое описание команд передачи данных МК51. Разработанные программы из заданий для самостоятельной работы. Таблицы с результатами исследования программ.
1. Какие способы адресации операндов используются в командах передачи данных?
2. Необходимо записать код FFH в регистры R2, R3 и R4. Какими способами это можно сделать? Какой вариант будет короче, т.е. занимать в памяти меньше ячеек?
3. Какими способами можно загрузить в регистр DPTR число 85AEH? Какой вариант будет короче?
4. Как воздействуют команды передачи данных на флаги МК?
5. Каким способом можно обнулить область памяти данных с адреса 40H по 44H? Напишите возможные варианты программ.
6. Каким способом можно загрузить в регистры R2, R3 и R4 данные из ячейки ПД с адресом 30H?
7. Как можно переслать содержимое ячейки внешней памяти данных с адресом 50H в ячейку внутренней памяти данных с адресом 30H?
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.