Пример программы (см. таблицу 1) на Ассемблере, которая считывает первое и второе слагаемые из двух разных ячеек памяти и сохраняет их сумму в третьей ячейке памяти. Первое слагаемое находится в ячейке памяти – 8000. Второе слагаемое находится в ячейке памяти – 8030. Результат, сумму необходимо поместить в ячейку памяти – 8060.
Таблица 1
МНЕМОНИКА | КОД | АДРЕС | ПОЯСНЕНИЯ |
LDA 8000 | 3A 00 80 | 8200 8201 8202 | Загрузка в аккумулятор первого слагаемого, которое находится в ячейке памяти 8000 |
MOV B,A | 47 | 8203 | Перемещение аккумулятора в РОН <B> |
LDA 8030 | 3A 30 80 | 8204 8205 8206 | Загрузка в аккумулятор второго слагаемого, которое находится в ячейке памяти 8030 |
ADD B | 08 | 8207 | <A> + <B> (Сумму поместить в) à <A> |
LDA 8060 | 32 60 80 | 8208 8209 820A | Сумму из аккумулятора <A> загрузить в ячейку оперативной памяти 8060 |
HLT | 76 | 820В | Остановить микропроцессор |
Вопросы самоконтроля
1. Как расшифровывается мнемоника команды MVI A?
2. Как расшифровывается мнемоника команды ADD B?
3. Как расшифровывается мнемоника команды HLT?
|
|
4. Что является операндом в команде ADD B?
5. Как найти и записать машинный код команды ADD B?
6. Какая длина машинного кода команды ADD B?
7. Какой способ адресации в команде ADD B?
8. Что является характерным призраком регистрового способа адресации?
9. Как расшифровывается мнемоника команды MVI A?
10. Что является операндом в команде MVI A?
11. Как найти и записать машинный код команды MVI A?
12. Какая длина машинного кода команды MVI A?
13. Какой способ адресации в команде MVI A?
14. Что является характерным призраком непосредственного способа адресации?
15. Как расшифровывается мнемоника команды LXI H?
16. Как найти и записать машинный код команды LXI H?
17. Какая длина машинного кода команды LXI H?
18. Что является операндом в команде LXI H?
19. Какая длина машинного кода команды LXI H?
20. Какой способ адресации в команде LXI H?
21. Что находится во втором байте команды LXI H?
22. Что находится в третьем байте команды LXI H?
23. Каково главное назначение регистровой пары <HL>?
24. Что является характерным признаком косвенного способа адресации?
25. Каким образом задается место нахождения операнда при прямом способе адресации?
26. Какие две команды являются основными командами с прямым способом адресации?
27. Как расшифровывается мнемоника команды LDA addr?
28. Как расшифровывается мнемоника команды STA addr?
29. Как найти и записать машинный код команды LDA addr?
30. Как найти и записать машинный код команды STA addr?
31. Какой способ адресации в команде LDA addr?
32. Какой способ адресации в команде STA addr?
33. Что находится во втором байте команды LDA addr?
34. Что находится во втором байте команды STA addr?
|
|
35. Что находится в третьем байте команды LDA addr?
36. Что находится в третьем байте команды STA addr?
Практическое задание
Напишите программу на Ассемблере по образцу, представленному в таблице 1, с индивидуальными данными для каждого студента в соответствии с порядковым номером по списку. Для этого необходимо выполнить следующие действия:
1. Переведите свой номер по списку из десятичной системы счисления в шестнадцатеричную. Например, так 34d = 22h, где 34d - порядковый номер по списку в десятичной системе счисления, а 22h – в шестнадцатеричной.
2. Прибавьте свой номер в шестнадцатеричной системе к адресу 8000h, где должно находиться первое слагаемое. Например, так 8000h + 22h = 8022h.
3. Прибавьте свой номер в шестнадцатеричной системе к адресу 8030h, где должно находиться второе слагаемое. Например, так 8030h + 22h = 8052h.
4. Прибавьте свой номер в шестнадцатеричной системе к адресу 8060h, куда нужно поместить результат сложения для хранения в оперативной памяти. Например, так 8060h + 22h = 8082h.
5. Запишите свой вариант программы в таблицу1 с обязательным заполнением всех столбцов, включая пояснения.
6. Сфотографируйте и пришлите на проверку.
7. Ответьте на все вопросы для самопроверки в письменной форме, сфотографируйте и пришлите на проверку.
8. У кого есть возможность, сделайте это на компьютере и пришлите свой вариант в вордовском файле. У кого есть возможность выполнить свой вариант программы на эмуляторе, первое слагаемое – ваш номер по стиску, второе слагаемое – дата вашего дня рождения. (Но пункт 8 не обязательный. Пункты 1 – 7 ОБЯЗАТЕЛЬНЫЕ.
Литература.
Вершинин О.Е. Применение микропроцессоров для автоматизации технологических процессов. Энергоатомиздат: Ленингр. отд-ние, 1986. - 207,[1] с.