13. Продумайте, как работает программа №4, приведенная в табл. 5.6. Зачем нужно поле «метка»?
14. Продумайте, как протестировать программу №4.
15. Запишите программу №4 в память УМК и протестируйте ее различными вариантами чисел, записывая в черновик результаты тестирования.
Таблица 5.6
COMP - программа сравнения чисел в ячейках ОЗУ
Адрес HEX |
Данные HEX |
Метка |
Команда |
Комментарий |
0800 |
3A 00 09 |
COMP: |
LDA 0900 |
(A)¬((0900)) Чтение из ОЗУ первого числа |
0803 |
47 |
MOV B,A |
(B)¬(A) Сохранение первого числа в регистре В |
|
0804 |
3A 01 09 |
LDA 0901 |
(A)¬((0901)) Чтение из ОЗУ второго числа |
|
0807 |
B8 |
CMP B |
(A)>(B)? Сравнение чисел |
|
0808 |
D2 0C 08 |
JNC MET |
Переход на МЕТ, если (A)>(B) |
|
080B |
78 |
MOV A,B |
(A)¬(B) Сохранение большего числа |
|
080C |
32 30 09 |
MET: |
STA 0930 |
((0930))¬(A) Запись в ОЗУ |
080F |
C7 |
RST0 |
Выход |
16. Измените программу №4 таким образом, чтобы она определяла меньшее из чисел (воспользуйтесь табл. 5.2). Протестируйте полученную программу.
17. Продумайте, как работает программа №5, приведенная в табл. 5.7. Составьте блок-схему алгоритма этой программы и покажите ее преподавателю.
Таблица 5.7
SUM – программа сложения массива чисел в ячейках ОЗУ
Адрес HEX |
Данные HEX |
Метка |
Команда |
Комментарий |
0800 |
21 00 09 |
SUM: |
LXI H,0900 |
(HL)¬0900. В регистровой паре HL – адрес первого слагаемого |
0803 |
06 05 |
MVI B,05 |
(B)¬05. В регистре В - количество слагаемых (количество циклов) |
|
0805 |
CD 10 08 |
CALL ADD8 |
Вызов подпрограммы ADD8 |
|
0808 |
32 30 09 |
STA 0930 |
((0930))¬(A). Запись в ОЗУ мл. байта результата |
|
080B |
79 |
MOV A,C |
(A)¬(C) |
|
080C |
32 31 09 |
STA 0931 |
((0931))¬(A). Запись в ОЗУ ст. байта результата |
|
080F |
C7 |
RST0 |
Выход |
|
Подпрограмма ADD8: |
||||
0810 |
AF |
ADD8: |
XRA A |
(A)¬00. В регистре А - мл. байт результата |
0811 |
4F |
MOV C,A |
(C)¬00. В регистре С - ст. байт результата |
|
0812 |
86 |
CNT: |
ADD M |
(A)¬ (A) +((HL)). Сложение с числом из массива |
0813 |
D2 17 08 |
JNC TRM |
Переход на TRM, если не было переноса в 9-й разряд |
|
0816 |
0C |
INR C |
(C) ¬(C)+1. Инкремент старшего байта результата |
|
0817 |
23 |
TRM: |
INX H |
(HL¬(HL)+1. Переход с след. адресу массива |
0818 |
05 |
DCR B |
(B) ¬(B)-1. Декремент счетчика циклов |
|
0819 |
С2 12 08 |
JNZ CNT |
(B)=0? Цикл |
|
081C |
C9 |
RET |
Возврат из подпрограммы |
18. Продумайте, как протестировать программу №5.
19. Получите у преподавателя пять чисел в HEX коде (каждому студенту – свои числа) и без использования калькулятора вручную сложите их, получив результат в HEX коде.
20. Запишите программу №5 в память УМК и протестируйте ее.
21. Проверьте правильность расчётов по заданным числам с помощью программы №5.
22. Получите у преподавателя индивидуальное задание по разработке своей программы.
Содержание отчёта
Отчёт должен содержать все исследуемые программы без столбцов «Адрес» и «Данные»; результаты тестирования программ; подробное описание всех расчётов, результаты проверки расчётов с помощью программ; описание программы, разработанной по заданию преподавателя.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.