Пример программы сложения двух чисел, которые находятся в оперативной памяти

 

Пример программы (см. таблицу 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] с.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: