Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Id register,Z



Эта команда косвенно загружает (load) в рабочий регистр register значение, которое находится по адресу, указываемому регистром Z. Если сформировать таблицу значений, занимающих последовательные ячейки памяти, изменяя значение Z, можно считывать данные, находящиеся в этих ячейках. Например, мы храним коды для отображения на семисегментном индикаторе цифр от 0 до 9 в регистрах R20...R29. Тогда запишем в регистр Z число 20 (чтобы он указывал на начало таблицы – регистр R20) и прибавим к регистру то число, которое хотим преобразовать. Используя после этого операцию косвенного чтения, мы получим семисегментный код, соответствующий этому числу:

Алгоритм работы этой программы:

1. Записываем адрес начального регистра (R20) в регистр ZL (младший регистр относительного адреса). ldi ZL,20

2. Прибавляем к регистру ZL цифру, семисегментный код которого хотим выставить в порте B. Add ZL,digit

3. Записываем адрес регистра, в котором хранится семисегментный код в рабочий регистр.

4. Выставляем на выходах порта B семисегментный код символа.

Ldi ZL,20; Устанавливаем ZL на адрес R20

Add ZL,digit; Прибавляем цифру к ZL

Ld temp,Z; Читаем Rx в temp

Out PortB,temp; Выводим temp в порт В

Необходимо, перед этим занести все семисегментные коды в соответствующие регистры:





Дата публикования: 2015-02-03; Прочитано: 288 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...