Пример выполнения задания. Проанализировать число, хранящееся в ячейке DA316 .
Задача
Проанализировать число, хранящееся в ячейке DA316 .
Если оно четное, то выполнить конъюнкцию с числом, хранящемся в регистре B
Если оно нечетное, то выполнить конъюнкцию с числом 14010
Результат поместить в ячейку AD716 .
Начальный адрес программы CD4516
1. Блок-схема программы
2. Фрагмент программы.
№ ячейки | Структура кода команды | Двоичный код | Шестнадцкод | Мнемоника | Выполняемая операция |
CD45 | Команда состоит из 3 байтов 00 К1 010. Для LDA K1=111 B3B2 = DA316, где B3 =0D16, B2 = A316 | В1=00 111 0102 | В1=3A16 | LDA DA3 | |
CD46 | В2=1010 00112 | В2=A316 | |||
CD47 | В3=0000 11012 | В3=0D16 | |||
CD48 | Команда состоит из 1 байта 00К3 111. Для RRC K3=001 | В1=00 001 1112 | В1=0F16 | RRC | |
CD49 | Команда состоит из 3 байтов. 11K4 010 Для K4=010 выполняется команда: B3 B2 = CD5216, где B3 =CD16, B2 = 5216 | В1=11 010 0102 | В1=D216 | JNC CD52 | Условие ТС =0 |
CD4A | В2=0101 00102 | В2=5216 | |||
CD4B | В3=1100 11012 | В3=CD16 | |||
CD4C | Команда состоит из 1 байта 00К3 111. Для RAL K3=010 | В1=00 010 1112 | В1=1716 | RAL | |
CD4D | Команда состоит из 2 байт. 11K2 110 Для ANI K2 =100 B2 = 14010 = 8С16 | В1=11 100 1102 | В1=Е616 | ANI 8С | |
CD4E | В2=1000 11002 | В2=8С16 | |||
CD4F | Команда состоит из 3 байтов. Безусловный переход B3 B2 = CD5416, где B3 =CD16, B2 = 5416 | В1=110000112 | В1=С316 | JMP CD54 | Безусловный переход |
CD50 | В2=0101 01002 | В2=5416 | |||
CD51 | В3=1100 11012 | В3=CD16 | |||
CD52 | Команда состоит из 1 байта 00К3 111. Для RAL K3=010 | В1=00 010 1112 | В1=1716 | RAL | |
CD53 | Команда состоит из 1 байта 10K2 ri Для ANA K2=100 ri =B= код 000 | В1=10 100 0002 | В1=А016 | ANA В | |
CD54 | Команда состоит из 3 байтов. 00 К1 010 для STA К1 =110 B3 B2 = AD716, где B3 =0A16, B2 = D716 | В1=00 110 0102 | В1=3216 | STA AD7 | |
CD55 | В2=1101 01112 | В2= D716 | |||
CD56 | В3=0000 10102 | В3=0A 16 |
Практическая работа № 16
Тема: Организация взаимодействия МП с внешними устройствами и памятью
Цель работы:Получить практические навыки составления программ работы с внешними устройствами в машинных кодах и на языке ассемблера
Задание 1.
1.Составить программу, по которой данные считываются с тумблеров, к их состоянию (содержимому аккумулятора) прибавляется 10010, и результаты выдаются на светодиоды.
2.Составить программу, по которой данные считываются с тумблеров, к их состоянию (содержимому аккумулятора) прибавляется 3010, и результаты выдаются на светодиоды.
3.Составить программу, по которой данные считываются с тумблеров, устанавливаются 1 и 2 биты, и результаты выдаются на светодиоды.
4.Составить программу, по которой данные считываются с тумблеров, очищаются 2 и 3 биты, и результаты выдаются на светодиоды.
5.Составить программу, по которой данные считываются с тумблеров, инвертируются 1 и 3 биты, и результаты выдаются на светодиоды.
6.Составить программу, по которой данные считываются с тумблеров, к их состоянию (содержимому аккумулятора) прибавляется 150, и результаты выдаются на светодиоды.
7.Составить программу, по которой данные считываются с тумблеров, от их состояния (содержимому аккумулятора) вычитается 1, и результаты выдаются на светодиоды.
8.Составить программу, по которой данные считываются с тумблеров, устанавливаются 2 и 3 биты, и результаты выдаются на светодиоды.
9.Составить программу, по которой данные считываются с тумблеров, очищаются 1 и 3 биты, и результаты выдаются на светодиоды.
10.Составить программу, по которой данные считываются с тумблеров, инвертируются 2 и 3 биты, и результаты выдаются на светодиоды.
11.Составить программу, по которой данные считываются с тумблеров, к их состоянию (содержимому аккумулятора) прибавляется 200, и результаты выдаются на светодиоды.
12.Составить программу, по которой данные считываются с тумблеров, от их состояния (содержимому аккумулятора) вычитается 2, и результаты выдаются на светодиоды.
13.Составить программу, по которой данные считываются с тумблеров, устанавливаются 1 и 3 биты, и результаты выдаются на светодиоды.
14.Составить программу, по которой данные считываются с тумблеров, очищаются 1 и 2 биты, и результаты выдаются на светодиоды.
15.Составить программу, по которой данные считываются с тумблеров, инвертируются 1 и 2 биты, и результаты выдаются на светодиоды.
16.Составить программу, по которой данные считываются с тумблеров, к их состоянию (содержимому аккумулятора) прибавляется 250, и результаты выдаются на светодиоды.
17.Составить программу, по которой данные считываются с тумблеров, от их состояния (содержимому аккумулятора) вычитается 4, и результаты выдаются на светодиоды.
18.Составить программу, по которой данные считываются с тумблеров, устанавливается 1-ый бит, и результаты выдаются на светодиоды.
19.Составить программу, по которой данные считываются с тумблеров, очищается 2-ой бит, и результаты выдаются на светодиоды.
20.Составить программу, по которой данные считываются с тумблеров, инвертируется 3-ий бит, и результаты выдаются на светодиоды.
21.Составить программу, по которой данные считываются с тумблеров, к их состоянию (содержимому аккумулятора) прибавляется 300, и результаты выдаются на светодиоды.
22.Составить программу, по которой данные считываются с тумблеров, от их состояния (содержимому аккумулятора) вычитается 3, и результаты выдаются на светодиоды.
23.Составить программу, по которой данные считываются с тумблеров, устанавливается 2-ой бит, и результаты выдаются на светодиоды.
24.Составить программу, по которой данные считываются с тумблеров, очищается 1 -ый бит, и результаты выдаются на светодиоды.
25.Составить программу, по которой данные считываются с тумблеров, инвертируется 2-ой бит, и результаты выдаются на светодиоды.
26.Составить программу, по которой данные считываются с тумблеров, к их состоянию (содержимому аккумулятора) прибавляется 25010, и результаты выдаются на светодиоды.
27.Составить программу, по которой данные считываются с тумблеров, от их состояния (содержимому аккумулятора) вычитается 2510 , и результаты выдаются на светодиоды.
28.Составить программу, по которой данные считываются с тумблеров, выполняется операция конъюнкция с числом 10010, и результаты выдаются на светодиоды.
29.Составить программу, по которой данные считываются с тумблеров, выполняется операция дизъюнкция с числом 15010, и результаты выдаются на светодиоды.
30.Составить программу, по которой данные считываются с тумблеров, выполняется операция исключающее «ИЛИ» с числом 25010, и результаты выдаются на светодиоды.
Задание 2.
1. Выделить четные биты числа, записанного в ячейке 8030 с помощью операции И. Результат получить на светодиодных индикаторах.
2. Продемонстрировать действие операции «исключающее ИЛИ» преобразуя число, записанное в аккумуляторе в код FF. Результат получить на светодиодных индикаторах.
3. Продемонстрировать действие операции «исключающее или» инвертируя в числе разряды, содержащие 1, и не изменяя разряды , содержащие 0. Результат получить на светодиодных индикаторах.
(Изменить программу так, чтобы операция «исключающее ИЛИ» выполнялась только над 4 младшими, 4 старшими битами).
4. Включить светодиоды, если число, записанное во входном устройстве, меньше или равно 3.
5. Включить светодиоды, если число, записанное во входном устройстве, больше 3, но меньше 8.
6. Зажечь светодиоды, если включены тумблеры Т1 и Т3 (изменить программу так, чтобы светодиоды зажигались при включении тумблеров Т1 или Т2).
7. Зажечь светодиоды, если в 5 разряде числа 0, а во всех остальных 1 (изменить программу так, чтобы микро - лаборатория реагировала на произвольную заданную комбинацию числа записанного в ячейке ОП).
8. Продемонстрировать функцию сдвига вправо, индицируя результат на светодиодах (изменить кодовые комбинации, подвергаемые сдвигу).
9.Продемонстрировать функцию сдвига влево, индицируя результат на светодиодах (изменить кодовые комбинации, подвергаемые сдвигу).
10. Вывести код, задаваемый тумблерами, на различные индикаторы дисплея.
11. Составить программу включения звукового сигнала тумблером Т1.
12. Включить звуковой сигнал на 5 секунд.
13. Включить звуковой сигнал на 10 секунд.
14. Включить звуковой сигнал тумблером Т2.
15. Включить звуковой сигнал тумблером Т3.
16. Зажечь 1, 4, 7 светодиоды на 5 секунд (изменить номера светодиодов).
17. Зажечь 2, 5, 8 светодиоды на 10 секунд (изменить время горения светодиодов).
18. Потушить все светодиоды на 15 секунд.
19. Выделить нечетные биты числа, записанного в ячейке 8035 с помощью операции И. Результат получить на светодиодных индикаторах.
20. Выделить младшие 4 бита числа, записанного в ячейке 8040 с помощью операции И. Результат получить на светодиодных индикаторах.
21. Продемонстрировать действие операции «исключающее ИЛИ» преобразуя число, записанное в аккумуляторе так, чтобы в младших четырех разрядах числа «0» были заменены на «1». Результат получить на светодиодных индикаторах.
22. Продемонстрировать действие операции «исключающее ИЛИ» преобразуя число, записанное в аккумуляторе так, чтобы в старших четырех разрядах числа 0 были заменены на 1. Результат получить на светодиодных индикаторах.
23. Продемонстрировать действие операции «исключающее или» инвертируя в числе разряды, содержащие 1, и не изменяя разряды , содержащие 0. Результат получить на светодиодных индикаторах.
Операцию «исключающее ИЛИ» применить только для 4 младших битов. 3. Продемонстрировать действие операции «исключающее или» инвертируя в числе разряды, содержащие 1, и не изменяя разряды , содержащие 0. Результат получить на светодиодных индикаторах.
Операцию «исключающее ИЛИ» применить только для 4 старших битов.
24. Составить программу включения звукового сигнала тумблером Т1, а включение светодиодов тумблером Т3.
25. Включить звуковой сигнал тумблерами Т1 и Т2.
26. Зажечь 1, 2 светодиоды на 5 секунд.
27. Зажечь 2, 4, 6 светодиоды на 10 секунд.
28. Зажечь 3, 4, 5 светодиоды на 5 секунд.
29. Потушить все светодиоды на 5 секунд.
30. Потушить все светодиоды на 10 секунд.