1. Рассмотрим команду MOV A, D
а)Команда MOV A, D относится к группе команд пересылок
б) Формат команды - 1 байт;
в) Структура кода команды – 01 ri rj
г) Выполняемая операция – ri ← (rj)
По этой команде содержимое регистра rj передается в регистр ri.
В команде MOV A, D в качестве регистра ri используется регистр А, а в качестве регистра rj используется регистр D, т.е.содержимое регистра D передается в регистр A.
д) Байт B1 является байтом кода операции, и он строится в соответствии со структурой кода команды, т.е. вместо ri. подставляем код регистра A – 111, а вместо регистра rj подставляем код регистра D – 010, тогда двоичный код команды равен:
B1 01 111 010 2;
е) Для получения шестнадцатиричного кода восемь разрядов двоичного кода B1 разбиваем на две группы по четыре разряда и каждую группу записываем в виде шестнадцатирричной цифры или буквы.
Шестнадцатиричный код равен:
B1 7A 16
2. Рассмотрим команду MVI B, 4A
а)команда MVI B, 4A относится к группе команд пересылок
б) Формат команды - 2 байта;
в) Структура кода команды – 00 ri 110
г) Выполняемая операция – ri←<B2>
По этой команде число, записанное во втором байте, записывается в регистр rj.
В команде MVI B, 4A в качестве регистра ri используется регистр В, а 4A является шестнадцатиричным числом, которое помещается в регистр В, т.е. 4A16 записывается в регистр В.
д) Байт B1 является байтом кода операции, и он строится в соответствии со структурой кода команды, т.е. в нем вместо ri записывается трехразрядный код регистра В – 000.
В байте В2 запишем двоичный код шестнадцатиричного числа 4A16.
Для этого каждую цифру и букву шестнадцатиричного числа необходимо записать в виде четырехразрядного двоичного кода, т.е. 4A16 = 0100 10102., тогда двоичный код команды равен:
B1 00 0001102
B2 010010102
е) Шестнадцатиричный код равен:
B1 0616
B2 4A16
3. Рассмотрим команду STA F053
а)Команда STA F053 относится к группе команд пересылок
б) Формат команды - 3 байта;
в) Структура кода команды – 00K1010
г) Для мнемоники STA код K1=110 и выполняемая операция –
[< B3B2>]← (A).
По этой команде содержимое аккумулятора А, записывается в ячейку, номер которой указывается во втором и третьем байтах команды.
В команде STA F053 в качестве номера ячейки используется число F05316 , т.е. содержимое аккумуляторапомещается в ячейку с номером F05316.
д) Байт B1 является байтом кода операции, и он строится в соответствии со структурой кода команды, т.е. в нем вместо K1 записывается трехразрядный код 110.
В байтах B2 и B3 записывается двоичный код шестнадцатиричного числа F053, причем во втором байте B2 записываются младшие разряды шестнадцатиричного числа – 5316., а в третьем байте B3 записываются старшие разряды шестнадцатиричного числа – F016.
Для этого каждую цифру и букву шестнадцатиричного числа необходимо записать в виде четырехразрядного двоичного кода, тогда двоичный код команды равен
B1 00 110 0102
B2 0101 00112
B3 1111 00002
е) Шестнадцатиричный код равен:
B1 3216
B2 5316
B3 F016
Практическая работа № 14
Тема: Программирование последовательных участков алгоритмов
Цель работы: Получить практические навыки составления линейных программ в машинных кодах и на языке ассемблера.
Задача № 1. Составить фрагмент программы сложения двух чисел, первое число хранится в ячейке с № 123, второе число хранится в ячейке с № 4567, результат поместить в регистр D. Начальный адрес фрагмента программы ячейка с № 89А.
Задача № 1. Составить фрагмент программы сложения двух чисел, первое число хранится в ячейке с № 5678, второе число хранится в регистре Н, результат поместить в регистр D. Начальный адрес фрагмента программы ячейка с № 8035
Задача № 2. Составить фрагмент программы сложения двух чисел, первое число хранится в ячейке с № АВС, второе число хранится в регистре L, результат поместить в ячейку с № 1234. Начальный адрес фрагмента программы ячейка с № CDEF.
Задача № 3. Составить фрагмент программы вычитания двух чисел, первое число хранится в ячейке с № АВ, второе число хранится в регистре С, результат поместить в регистр Н. Начальный адрес фрагмента программы ячейка с № 8156
Задача № 4. Составить фрагмент программы вычитания двух чисел, первое число хранится в ячейке с № 78АВ, второе число хранится в регистре D, результат поместить в ячейку с № 2345. Начальный адрес фрагмента программы ячейка с № 8123.
Задача № 5. Составить фрагмент программы конъюнкции двух чисел, первое число хранится в ячейке с № 567, второе число хранится в регистре L, результат поместить в регистр D. Начальный адрес фрагмента программы ячейка с № 81DF
Задача № 6. Составить фрагмент программы конъюнкции двух чисел, первое число хранится в ячейке с № 56C, второе число хранится в регистре C, результат поместить в ячейку с № 789. Начальный адрес фрагмента программы ячейка с № 82AD.
Задача № 7. Составить фрагмент программы дизъюнкции двух чисел, первое число хранится в ячейке с № 6789, второе число хранится в регистре L, результат поместить в регистр D. Начальный адрес фрагмента программы ячейка с № 81EF
Задача № 8. Составить фрагмент программы дизъюнкции двух чисел, первое число хранится в ячейке с № ABCD, второе число хранится в регистре C, результат поместить в ячейку с № 1EF. Начальный адрес фрагмента программы ячейка с № 800B.
Задача № 9. Составить фрагмент программы сложения двух чисел, первое число хранится в регистре B, второе число хранится в регистре Н, результат поместить в регистр D. Начальный адрес фрагмента программы ячейка с № 1035
Задача № 10. Составить фрагмент программы сложения двух чисел, первое число хранится в регистре C, второе число хранится в регистре L, результат поместить в ячейку с № DE34. Начальный адрес фрагмента программы ячейка с № 12EF.
Задача № 11. Составить фрагмент программы вычитания двух чисел, первое число хранится в регистре B, второе число хранится в регистре С, результат поместить в регистр Н. Начальный адрес фрагмента программы ячейка с № 8DA6
Задача № 12. Составить фрагмент программы вычитания двух чисел, первое число хранится в регистре E, второе число хранится в регистре D, результат поместить в ячейку с № AB45. Начальный адрес фрагмента программы ячейка с № 8179.
Задача № 13. Составить фрагмент программы конъюнкции двух чисел, первое число хранится в регистре H, второе число хранится в регистре D, результат поместить в регистр L. Начальный адрес фрагмента программы ячейка с № 8ABC
Задача № 14. Составить фрагмент программы конъюнкции двух чисел, первое число хранится в регистре L, второе число хранится в регистре B, результат поместить в ячейку с № D67. Начальный адрес фрагмента программы ячейка с № 84AB.
Задача № 15. Составить фрагмент программы дизъюнкции двух чисел, первое число хранится в регистре B, второе число хранится в регистре D, результат поместить в регистр E. Начальный адрес фрагмента программы ячейка с № 81E
Задача № 16. Составить фрагмент программы дизъюнкции двух чисел, первое число хранится в регистре C, второе число хранится в регистре B, результат поместить в ячейку с № 31EF. Начальный адрес фрагмента программы ячейка с № 800C.
Задача № 17. Составить фрагмент программы сложения числа хранящегося в ячейке с № 678, с числом AB16, результат поместить в регистр D. Начальный адрес фрагмента программы ячейка с № 8035
Задача № 18. Составить фрагмент программы сложения числа хранящегося в ячейке с № DF8, с числом 1216, результат поместить в ячейку с № 1234. Начальный адрес фрагмента программы ячейка с № CDEF.
Задача № 19. Составить фрагмент программы вычитания числа хранящегося в ячейке с № AB8, с числом 3416,, результат поместить в регистр Н. Начальный адрес фрагмента программы ячейка с № 8156
Задача № 20. Составить фрагмент программы вычитания числа хранящегося в ячейке с № F78, с числом A516,, результат поместить в ячейку с № 2345. Начальный адрес фрагмента программы ячейка с № 8123.
Задача № 21. Составить фрагмент программы конъюнкции числа хранящегося в ячейке с № ABC, с числом 4B16,, результат поместить в регистр L. Начальный адрес фрагмента программы ячейка с № 81DF
Задача № 2. Составить фрагмент программы конъюнкции числа хранящегося в ячейке с № 12F, с числом C616,, результат поместить в ячейку с № 789. Начальный адрес фрагмента программы ячейка с № 82AD.
Задача № 23. Составить фрагмент программы дизъюнкции числа хранящегося в ячейке с № 124A, с числом 7D16,, результат поместить в регистр B. Начальный адрес фрагмента программы ячейка с № 81EF
Задача № 24. Составить фрагмент программы дизъюнкции числа хранящегося в ячейке с № BC01, с числом EF16,, результат поместить в ячейку с № 1EF. Начальный адрес фрагмента программы ячейка с № 800B.
Задача № 25. Составить фрагмент программы сложения числа хранящегося в регистре B, с числом CB16, результат поместить в регистр D. Начальный адрес фрагмента программы ячейка с № 8A35
Задача № 26. Составить фрагмент программы сложения числа хранящегося в регистре C, с числом F216, результат поместить в ячейку с № DF34. Начальный адрес фрагмента программы ячейка с № CD52.
Задача № 27. Составить фрагмент программы вычитания числа хранящегося в регистре D, с числом A416,, результат поместить в регистр Н. Начальный адрес фрагмента программы ячейка с № 8AD6
Задача № 28. Составить фрагмент программы вычитания числа хранящегося в регистре E, с числом C516,, результат поместить в ячейку с № AD45. Начальный адрес фрагмента программы ячейка с № 81F.
Задача № 29. Составить фрагмент программы конъюнкции числа хранящегося в регистре H, с числом 4B16,, результат поместить в регистр L. Начальный адрес фрагмента программы ячейка с № 845D
Задача № 30. Составить фрагмент программы конъюнкции числа хранящегося в регистре L, с числом C916,, результат поместить в ячейку с № A89. Начальный адрес фрагмента программы ячейка с № 8A5D.
Задача № 31
Составить фрагмент программы дизъюнкции числа хранящегося в регистре B, с числом 7D16,, результат поместить в регистр D. Начальный адрес фрагмента программы ячейка с № 86EA