Пример выполнения задания. 1. Рассмотрим команду MOV A, D
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