double arrow

ПРОГРАММА СЧЕТА


На рис.2, показана структурна схема программы, которая "заставляет" ячейку памяти считать в двоичном коде от 0 до 255 и затем повторять этот счет.

Сначала один регистр /в данном случае аккумулятор/ устанавливается в 0. Затем содержимое аккумулятора переписывается в ячейку памяти с адресом 8020 и увеличивается на 1. Далее запись в ячейку памяти повторяется снова. В табл.2, приводится листинг программы.

Рис.2. Структурная схема программы счета.

Программа начинается с адреса 8004 вместо 8000, так что потом можно добавить несколько команд в начале программы /в "Микролаб" 8000 - первая ячейка ОЗУ, следовательно, программа пользователя не может начинаться раньше этого адреса/ . Первая команда - МVI А, 0.

Листинг программы счета таблица2.

Адрес Содержимое Метки Команды Комментарии
ЗЕ   МVI А, 0 Установка А в "0"
     
LООР: SТА 8020 А— ячейка памяти  
     
     
80:09   N0P  
800А   INK А Прирастить А
800В С3   JMP LOOP Переход к LООР
800С      
800D      

Она загружает в аккумулятор нули. Следующая команда - SТА 8020 пересылает содержимое аккумулятора в ячейку памяти 8020. Код 32 в ячейке с адресом 8006 указывает, что это команда SТА. Когда процессор считывает этот код, он "понимает", что следующие два байта /адреса 8007 и 8008/ содержат адрес, по которому должно быть записано содержимое аккумулятора /в данном случае 8020/. Следует помнить, что байты адреса записываются в обратном порядке. Эта команда не изменяет содержимого аккумулятора, она просто копирует данные в ячейку памяти. За командой SТА идет команда NОР, чтобы зарезервировать место для последующего использования. Следующая команда - INR А, она увеличивает содержимое аккумулятора. Когда достигается максимальная величина счета /в двоичном коде -1111 1111, в шестнадцатеричном - FF или 255 - в десятичном/, содержимое аккумулятора сбрасывается и дальнейший счет идет с нуля. Это обычный режим работы двоичного счетчика.




Последняя команда - переход. Эта команда возвращает программу к команде SТА, адрес 8006.

Проведем эксперимент по выполнению описанной программы в шаговом режиме.

1. Введите в память "Микролаб" программу, приведенную в табл.2. Проверьте правильность ее записи в память.

2. Переключите тумблер режима в положение ШАГ.

3. Установите начальный адрес программы /8004/. На двух крайних

правых индикаторах появится команда МVI А /код ЗЕ/.

4. Нажмите кнопку ПУСК. Программа начала выполняться в шаговом режиме. Первая команда выполнена. Теперь на двух крайних правых индикаторах высвечено содержимое ре­гистра признаков, а содержимое аккумулятора появилось на третьем и четвертом индикаторах, считая справа. На этих индикаторах видны нули, так как первая команда выполнена и в аккумулятор занесены нули.



5. Нажмите кнопку ПУСК. Выполнена команда SТА 8020. Содержимое аккумулятора не изменилось, в ячейке памяти 8020 должны появиться нули. Чтобы проверить содержимое этой ячейки, нажмите кнопки 8, 0, 2, О, а также кнопку УСТ.АД. На двух крайних правых индикаторах - нули. Это содержимое ячейки 8020. Набирая любой другой адрес, можно просмотреть любую ячейку памяти после каждого шага выполнения программы. Набирая соответствующие адреса, можно также просмотреть и содержимое регистров МП /см. табл.1/.

6. Нажмите кнопку ВОЗВР. Тем самым вы вернулись к выполнению вашей программы и выполнили следующую команду /NОР/. На индикаторах опять появилось содержимое регистра признаков и аккумулятора.

7. Нажмите кнопку ПУСК. Выпол­нена команда INR А. На индикаторе видна единица, что свидетельствует о приращении содержимого аккумулятора.

8. Проверьте содержимое ячейки 8020. В ней находятся нули, так как перепись единицы из аккумулятора в эту ячейку еще не произошла.

9... Нажав кнопку ВОЗВР . , вернитесь к выполнению вашей программы.

10. Нажмите кнопку ПУСК, выпол­нится следующая команда /SТА 8020/, т.е. содержимое аккумулятора пере­писалось в ячейку 8020.

11. Проверьте содержимое ячейки 8020. Теперь там находится единица.

12. Нажав кнопку ВОЗВР. и далее нажимая кнопку ПУСК, выполните программу по шагам. Проследите, как меняется содержимое аккумулятора.







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