Команды пересылки информации

Несмотря на пересылку данных в неизменном виде, эти команды осуществляют один из способов обработки информации. В качестве примера такой обработки можно привести сортировку. В командах пересыл­ки используется все разнообразие способов адресации данных. Пересылка данных может осуществляться в форматах байта, половины байта, двух байтов и бита.

Начнем с байтового формата. Команда MOV (MOV e по-английски означает «передвинуть»; далее в аналогичных случаях мы не будем указывать специально, что дается перевод с английского) копирует содержимое источника в приемник (при выполнении этой команды первоначальное содержимое приемника теряется):

MOV A, #src

MOV А, Rn

MOV A, @Ri

MOV A, src

MOV Rn, А

MOV Rn, #src

MOV Rn, src

MOV @Ri, A

MOV @Ri, #src

MOV @Ri, src

MOV dst, A

MOV dst, #src

MOV dst, Rn

MOV dst, @Ri

MOV dst, dst

Для засылки нуля в накопитель проще использовать команду очистки CLR (CleaR означает очистить):

CLR А

Чтение и запись данных байтового формата при обращении к внешнему ОЗУ осуществляется при помощи команд MOVX, где буква X, по-видимому, означает external (внешняя память):

MOVX A, @Ri

MOVX A, @DPTR

MOVX @Ri, A

MOVX @DPTR, A

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

Чтение данных из ПЗУ осуществляется при помощи команды MOVC, притом буква С скорее всего означает Code (программа).

MOVC A, @A+DPTR

MOVC А, ©А+РС

Эти команды очень удобны для чтения из таблиц, записываемых в ПЗУ.

Запись в ОЗУ и чтение из него при помощи стекового способа адре­сации производятся командами

PUSH src

POP dst

Мнемокоды стековых команд соответствуют английским глаголам «затолкнуть» и «вытолкнуть».

Существует еще одна команда копирования ХСН (eXCHange означает «обменять»), которая осуществляет обмен содержимого источника и приемника. В принципе обмен можно произвести при помощи трех команд пересылки. Следующие команды делают это за то же время, но занимают меньше места в ПЗУ и не требуют использования дополнительной ячейки ОЗУ:

ХСН А, Rn

ХСН A, @Ri

ХСН А, src

Есть также команда, обменивающая младшие половины байтов:

XCHD A, @Ri

Здесь D означает Digit (четыре бита используются для двоичного представ­ления десятичной цифры).

Одна из команд пересылки данных записывает два байта в регистр указателя данных:

MOV DPTR, #src

Других команд для явной пересылки двухбайтовых данных нет.

Несколько команд пересылки информации работают в битовом фор­мате, В команде MOV источником или приемником должен быть бит переноса С;

MOV С, flag

MOV flag, С

Для записи констант 0 и 1 используются команды очистки CLR и уста­новки SETB (SET Bit означает «установить бит»):

CLR С

CLR flag

SETB С

SЕТВ flag

Все команды пересылки не влияют на содержимое слова состояния программы, за исключением случаев пересылки информации в этот регистр или один из его битов.


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



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