Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МП устройства СУ / Конспект лекций (дополнительный, обновленный).doc
Скачиваний:
127
Добавлен:
19.03.2015
Размер:
552.45 Кб
Скачать

13.9.1. Команды пересылки данных.

Команды данной группы служат для загрузки и пересылки двоичных кодов между различными устройствами хранения, которыми являются ячейки памяти, порты и регистры МП. Следует отметить, что команды пересылки данных обычно не воздействуют на флаги, поскольку по командам этой группы не выполняются какие-либо вычисления в АЛУ.

1. Команда MOV r1,r2. Эта команда регистровой адресации содержимое регистра r2 переписывает в регистр r1, причем содержимое регистра r2 сохраняется. В качестве регистров могут быть использованы внутренние регистры общего назначения. Например, после выполнения команды MOV C,А данные из аккумулятора А будут переписаны в регистр С. Содержимое аккумулятора не изменится.

2. Команда MOV r,M. Данная команда имеет косвенную адресацию и выполняет пересылку содержимого ячейки памяти M, адрес которой определяется текущим содержимым регистра-указателя адреса (в нашем случае регистровой пары BC) во внутренний регистр общего назначения r. Для того, чтобы обратиться к ячейке памяти с конкретным адресом, ранее в программе необходимо в регистр-указатель адреса загрузить этот адрес или сформировать его каким-либо вычислением. Например, по команде МОV С,M данные из ячейки памяти M пересылаются в регистр C.

3. Команда MOV M,r. Данная команда выполняет обратное действие по отношению к предыдущей команде, т.е. содержимое внутреннего регистра микропроцессора заносит в косвенно адресуемую ячейку памяти.

4. Команда LDI r, data является командой с непосредственной адресацией данных. Эта команда обеспечивает загрузку любого внутреннего регистра r микропроцессора операндом в виде константы data. Например, по команде LDI B,150 в регистр В загружается двоичный код десятичного числа 150.

5. Команда LDI M, data аналогична предыдущей, но загружает константой косвенно адресуемую ячейку памяти M.

6. Команда LDRP rp,data16 выполняет загрузку регистровой пары или иного адресного регистра шестнадцатиразрядной двоичной константой. В качестве адресных регистров могут использоваться в команде указатель стека SP, регистр-указатель адреса косвенно адресуемой ячейки памяти, индексные регистры и иные регистры, кроме счетчика команд. Например, с учетом принятых нами соглашений, команда LDRP ВC,8000 определяет адрес косвенно адресуемой ячейки памяти M путем занесения в регистровую пару BC двоичного кода десятичного числа 8000.

7. Команда LDS A,addr является командой прямой адресации данных и обеспечивает загрузку аккумулятора содержимым ячейки памяти, адрес которой addr указывается в команде в явном виде числом или меткой, под которой понимается числовое значение.

8. Команда LDX A,rp выполняет загрузку аккумулятора содержимым косвенно адресуемой ячейки памяти, адрес которой указывается регистровой парой rp или регистром-указателем адреса. Данная команда имеет косвенную адресацию данных.

9. Команда STS addr,A аналогична команде LDS A,addr, но выполняет обратную пересылку, т.е. содержимое аккумулятора пересылает в прямо адресуемую ячейку памяти.

10. Команда STX rp,A сохраняет аккумулятор в косвенно адресуемой ячейке памяти, адрес которой определяется содержимым регистровой пары rp или регистром-указателем адреса.

11. Команда PUSH r является командой со стековой адресацией. Она заносит в стековую ячейку памяти содержимое указанного в команде регистра r. Каждая запись в стек изменяет указатель стека SP на единицу.

12. Команда POP r выполняет обратное действие, т.е. выгружает из стека последнее записанное в него значение и размещает его в регистре r. Каждая выгрузка из стека изменяет содержимое указателя стека SP на единицу с противополжным по знаку приращением по отношению к команде PUSH r.

13. Команда IN A,port реализует ввод данных из порта ввода и запись введенного значения в аккумулятор. Эта команда является командой прямой адресации данных и выполняет обращение к порту по явному адресу, записанному в виде числа или условной метки с числовым значением port.

14. Команда OUT port,A выполняет обратную пересылку, т.е. данные из аккумулятора выводит в порт вывода по адресу port.