Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Группа команд пересылки данных

Синтез схем, свободных от статических состязаний | Функциональные и логические состязания сигналов | Синтез схем, свободных от логических состязании | Анализ комбинационных схем с целью выявления состязаний | Состязания сигналов в последовательностных схемах | Существенные состязания | Порядок выполнения работы | Краткие теоретические сведения | Организация памяти и функционирование микроконтроллера | Запись исходного текста программы на языке программирования ASM-51 |


Читайте также:
  1. I чемпионата по силовому многоборью г. Красноярска среди команд
  2. II группа
  3. II. После выполнения данных упражнений составляется список целей.
  4. II. Психологизация управления людьми и группами
  5. III. Работа в группах.
  6. III. Третья группа профессиональных вредностей возникает вследствие несоблюдения общесанитарных условий в местах работы.
  7. IV. Анализ предложений. Работа в группах.

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

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

Табл. 1

Содержание команды Тип адресации Мнемоника Операция
Пересылка в Акк. байтовой конст. прямая MOV A,#dat8 (A)←#dat8
Пересылка в рег. Rn байтовой конст. прямая MOV Rn,#dat8 (Rn)←#dat8
Пересылка в Акк. содержимого рег. Rn прямая MOV A,Rn (A) ←(Rn)
Пересылка в рег. Rn содержимого Акк. прямая MOV Rn,A (Rn) ← (A)
Пересылка в Акк. содержимого ОЗУ по адресу, содерж в рег. Ri (i=0,1) косвенная MOV A,@Ri (A) ←{(Ri)}
Пересылка в ОЗУ содержимого Акк. по адресу, содерж в рег. Ri (i=0,1) косвенная MOV @Ri,A {(Ri)} ←(A)
Пересылка в ОЗУ байтовой конст. по адресу, содерж. в рег. Ri (i=0,1) косвенная MOV @Ri, #dat8 {(Ri)} ←#dat8
Пересылка в ОЗУ содержимого, содержащегося по адр. dat8 в ячейку с адр., содерж. в рег. Ri (i=0,1) косвенная MOV @Ri, dat8 {(Ri)} ←{dat8}
Пересылка в ОЗУ содержимого ОЗУ с адр. содерж. в рег. Ri (i=0,1), в ячейку с адресом dat8 косвенная MOV dat8,@Ri {dat8} ←{(Ri)}
Пересылка в Rn содержимого ОЗУ по адресу dat8 прямая MOV Rn,dat8 (Rn) ←{dat8}
Пересылка в Акк. содержимого ОЗУ по адресу dat8 прямая MOV A,dat8 (A) ←{dat8}
Пересылка из Акк. в ОЗУ по адресу dat8 прямая MOV dat8,A {dat8} ←(A)
Пересылка содерж. Rn в ОЗУ по адресу dat8 прямая MOV dat8,Rn {dat8} ←(Rn)
Пересылка содерж. из ячейки ОЗУ с адр. 1dat8 в ОЗУ по адресу 2dat8 прямая MOV 2dat8,1dat8 {2dat8}←{1dat8}
Пересылка в ОЗУ по адр. dat8 конст. # 1dat8 прямая MOV dat8,#1dat8 {dat8} ←#1dat8
Пересылка в указатель данных DPTR двухбайтовой конст. прямая MOV DPTR,#dat16 DPTR ←#dat16

 

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

CLR A

 

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

Табл. 2

Содержание команды Тип адресации Мнемоника Операция
Пересылка в акк. байта из вн. ОЗУ из адреса, содерж. в Ri (i=1,2) косвенная MOVX A,@Ri A ←{(Ri)}
Пересылка в акк. байта из вн. ОЗУ из расширенного двухбайтового адреса, содерж. в DPTR косвенная MOVX A,@DPTR A ←{(DPTR)}
Пересылка байта во вн. ОЗУ по адресу, содерж. в Ri (i=1,2) из акк. косвенная MOVX @Ri,A {(Ri)} ←A
Пересылка из акк. байта во вн. ОЗУ по расширенному двухбайтовому адресу, содерж. в DPTR косвенная MOVX @DPTR,A {(DPTR)} ← A

 

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

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

 

Табл. 3.

Содержание команды Тип адресации Мнемоника Операция
Пересылка в акк. байта из памяти программ, содержащегося по адресу, представляющего сумму указателя DPTR и акк. косвенная MOVC A,@A+DPTR A ←{(A)+(DPTR)}
Пересылка в акк. байта из памяти программ, содержащегося по адресу, представляющего сумму прогр. сч. и акк. косвенная MOVC A,@A+PC A ←{(A)+(PC)}

 

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

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

Табл. 4

Содержание команды Тип адресации Мнемоника Операция
Пересылка содержимого ОЗУ с адр. dat8 в стек Прямая PUSH dat8 (SP) ←(dat8)
Пересылка содержимого стека в ОЗУ с адр. dat8 Прямая POP dat8 (dat8) ←(SP)

Мнемокоды стековых команд соответствуют английским глаголам «затолкнуть» и «вытолкнуть». Применяются стековые способы в основном при обработке прерываний, переходов в подпрограммы, когда необходимо запомнить текущие состояния регистров.

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

 

Табл. 5

Содержание команды Тип адресации Мнемоника Операция
Обмен акк. с регистром Прямая XCH A,Rn (A)↔(Rn)
Обмен акк. с байтом, содерж. в ОЗУ по адресу dat8 Прямая XCH A,dat8 (A)↔{dat8}
Обмен акк. c байтом, содерж. в ОЗУ по адресу находящемуся в рег. Ri (i=1,2) Косвенная XCH A,@Ri (A)↔{(Ri)}
Обмен мл. тетрады акк. c мл. тетадой, содерж. в ОЗУ по адресу находящемуся в рег. Ri (i=1,2) Косвенная XCHD A,@Ri (A0…A3)↔{(Ri)0…(Ri)3}

 

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

переноса С, например:

MOV C, Rn.j

MOV Rn.j,C

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

CLR C

 

 

CLR Rn.j

SETB C

SETB Rn.j

 

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


Дата добавления: 2015-07-20; просмотров: 78 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Встроенные имена| Группа логических команд

mybiblioteka.su - 2015-2024 год. (0.008 сек.)