2 Порядок выполнения лабораторной работы
Задание 1. Исследовать программу 1.
Порядок выполнения задания:
Ввели в микро-ЭВМ программу 1.
Записали по адресу 0В00 исследуемое число.
Осуществили пуск программы 1 с адреса 0800. Проверили результат выполнения программы путем исследования числа, записанного по адресу 0В01.
Исследовали процесс выполнения программы по командам.
После выполнения каждой команды проанализировали содержание всех программно-доступных регистров МП БИС.
Исследовали процесс выполнения команд в программе 1 по машинным циклам. Обратили внимание на последовательность передачи и преобразования информации в микро-ЭВМ при выполнении каждой команды. Представить временные диаграммы процесса выполнения любой одно- и трехбайтной команды в программе.
Заменяя в программе 2 команду CMA на команды INR A/3C/, DCR A/3D/, ADD A/87/, ANA A/A7/, ORA A/B7/, CMP A/BF/, DAA/27/, исследовали результат выполнения указанных команд по числу, записанному по адресу 0В01; проверили таблицу, заполненную при выполнении домашнего задания.
Задание 2. Исследовать программу 2.
Порядок выполнения работы:
Ввели в микро-ЭВМ программу 2.
Записали по адресу 0В00 исследуемое число.
Осуществили пуск программы с адреса 0800. Проверили результат выполнения программы по числу, записанному по адресу 0В01.
Исследовали процесс выполнения команды MOV A,M по машинным циклам.
Ввели и исследовали выполнение микро-ЭВМ видоизмененной программы 2, позволяющей первоначально записывать исследуемое число по адресу 0В00.
Задание 3. Исследовать программу 3.
Порядок выполнения задания:
Ввели в микро-ЭВМ программу 3, разработанную при домашней подготовке.
Осуществили пуск программы 3 и проверили результат ее выполнения по числу, записанному по адресу 0В01 при числах 05, FE, записанных по адресу 0В00.
Задание 4. Исследовать программу 4.
Порядок выполнения задания:
Ввели в микро-ЭВМ программу 4, разработанную при домашней подготовке.
Проверили результат выполнения программы по числу, записанному по адресу 0В01, последовательно записывая по адресам 0В00 и 0ВА0 соответственно числа 0В и В0, FE и В5 и осуществляя пуск программы. Видоизменили и исследовали программу 4 для случая, когда сумма двух чисел будет превышать восьмиразрядное число.
Задание 5. Исследовать программу 5.
Порядок выполнения задания:
Ввели в микро-ЭВМ программу 5, разработанную при домашней подготовке.
Записали по адресам 0В00 и 0В01 исследуемые числа.
Осуществили пуск программы 5. Проверили результат ее выполнения по числу, записанному в регистр В.
3 Расчетная часть
3.1 Работа с программой 1. Запишем по адресу 0В00 исследуемое число: «12» в шестнадцатеричной системе (в двоичной системе – 0001 0010).
После выполнения программ получим по адресу 0В01 число: «ED» в шестнадцатеричной системе (в двоичной системе – 1110 1101).
Результаты опытов сведём в таблицу 1.
Таблица 1 – Результаты опытов
Число, записанное по адресу 0В00 |
Команда, записанная по адресу 0803 |
Число, записанное по адресу 0В01 |
Комментарий |
45 |
INR A |
46 |
Увеличение: (A)+1=>(A) |
DCR A |
44 |
Уменьшение: (A)–1=>(A) |
|
ADD A |
8А |
Сложение: (A)+(A)=>(A) |
|
ANA A |
45 |
Логическое умножение: (A) AND (A)=>(A) |
|
ORA A |
45 |
Логическое сложение: (A) OR (A)=>(A) |
|
CMP A |
45 |
Сравнение: (A)–(A) |
|
DAA |
АВ |
Преобразование (А) в двоично-десятичный код |
3.2 Работа с программой 2. Запишем снова по адресу 0В00 исследуемое число: «11» в шестнадцатеричной системе (в двоичной системе – 0001 0001).
После выполнения программ получим по адресу 0В01 число: «ЕЕ» в шестнадцатеричной системе (в двоичной системе – 1110 1110).
Видоизменим программу 2, чтобы можно было первоначально записывать исследуемое число по адресу 0В00:
Адрес |
Машинный код |
Мнемокод |
Комментарий |
0800 |
21 000B |
LXI H 000B |
записать в регистры H,L число 0В00 |
0803 |
7Е |
MOV A,M |
получить число из адреса, указанного в H,L |
0804 |
2F |
CMA |
инвертировать число в аккумуляторе |
0805 |
77 |
MOV M,A |
записать число из аккумулятора по адресу, указанному в H,L |
0806 |
CF |
RST 1 |
прервать выполнение программы |
3.3 Работа с программой 3. Разработаем и изучим программу 3, увеличивающую на 5 число, записанное по адресу 0В00:
Адрес |
Машинный код |
Мнемокод |
Комментарий |
0800 |
21 000В |
LXI H 000B |
записать в регистры H,L число 0В00 |
0803 |
7Е |
MOV A,M |
получить число из адреса, указанного в H,L |
0804 |
C6 05 |
ADI data |
число в аккумуляторе увеличивается на 5 |
0806 |
23 |
INX M |
увеличить на 1 число в регистрах H,L |
0807 |
77 |
MOV M,A |
записать число из аккумулятора по адресу, указанному в H,L |
0808 |
CF |
RST 1 |
прервать выполнение программы |
Запишем по адресу 0В00 исследуемое число «05» в шестнадцатеричной системе (в двоичной системе – 0000 0101).
После выполнения программы 3 получим по адресу 0В01 число «0А» в шестнадцатеричной системе (в двоичной системе – 0000 1010).
Запишем по адресу 0В00 исследуемое число «FЕ» в шестнадцатеричной системе (в двоичной системе – 1111 1110).
После выполнения программ получим по адресу 0В01 число «03» в шестнадцатеричной системе (в двоичной системе – 0000 0011) и флаг С = 1.
3.4 Работа с программой 4. Разработаем и изучим программу 4, складывающую
числа, записанные по адресам 0В00 и 0ВА0:
Запишем по адресу 0В00 исследуемое число «0В», а по адресу 0ВА0 число «В0» в шестнадцатеричной системе (в двоичной системе 0000 1011 и 1011 0000).
После выполнения программ получим по адресу 0В01 число «ВВ» в шестнадцатеричной системе (в двоичной системе – 1011 1011).
Запишем по адресу 0В00 исследуемое число «FЕ», а по адресу 0ВА0 число «В5» в шестнадцатеричной системе (в двоичной системе 1111 1110 и 1011 0101).
После выполнения программ получим по адресу 0В01 число «B3» (в двоичной системе – 1011 0011) и флаг С = 1.
Адрес |
Машинный код |
Мнемокод |
Комментарий |
0800 |
21 000В |
LXI H 000B |
записать в регистры H,L число 0В00 |
0803 |
7Е |
MOV A,M |
получить число из адреса, указанного в H,L |
0804 |
21 A00B |
LXIH A00B |
записать в регистры H,L число 0ВA0 |
0807 |
86 |
ADD M |
сложить содержимое аккумулятора и ячейки памяти |
0808 |
21 010B |
LXI H 000B |
записать в регистры H,L число 0В01 |
080B |
77 |
MOV M,A |
записать число из аккумулятора по адресу, указанному в H,L |
080C |
CF |
RST 1 |
прервать выполнение программы |
3.5 Работа с программой 5. Разработаем и изучим программу 5, сравнивающую числа в адресах 0В00 и 0В01 и записывающую больший из них в регистр В.
Запишем по адресу 0В00 исследуемое число «07», а по адресу 0В01 число «08» в шестнадцатеричной системе (в двоичной системе 0000 0111 и 0000 1000).
После выполнения программ получим в регистре В число «08» (в двоичной системе – 0000 1000).
Вывод: изучили выполнение отдельных команд и простых программ, с помощью различных методов адресации; разработали и выполнили программы в соответ
Адрес |
Машинный код |
Мнемокод |
Комментарий |
0800 |
21 000В |
LXI H 000B |
записать в регистры H,L число 0В00 |
0803 |
7Е |
MOV A,M |
получить число из адреса, указанного в H,L |
0804 |
23 |
INX M |
увеличить на 1 число в регистрах H,L |
0805 |
BE |
CMP M |
сравнить содержимое аккумулятора и ячейки памяти |
0806 |
DA 0B08 |
JC 0B08 |
в случае если флаг С = 1 то перейти к адресу 080В |
0809 |
47 |
MOV B,A |
записать число из аккумулятора в регистр В |
080A |
CF |
RST 1 |
прервать выполнение программы |
080B |
46 |
MOV В,M |
записать число из ячейки памяти в регистр В |
080C |
CF |
RST 1 |
прервать выполнение программы |
ствии с заданием для домашней подготовки, а также освоили некоторые коды программ. Освоили некоторые коды программ.
