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).
Ссылка на скачивание - внизу страницы.