Студопедия

КАТЕГОРИИ:

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


Команды перемещения данных




Эта группа представлена 28 командами, их краткое описание приведено в табл. 4, где также указаны тип команды (Т) в соответствии с таблицей, ее длина в байтах (Б) и время выполнения в машинных циклах (Ц).

Основная команда группы MOV (Move – перемещение) осуществляет пересылку данных в пределах адресного пространства РПД и РСФ, с различными способами адресации, и команды MOVX (чтение/запись байта из внешней памяти данных) и MOVC (чтение байт из памяти программ). На рис.5 показаны варианты пересылки данных между различными сегментами адресного пространства МК51 с учетом всех способов адресации, которые отражены в табл. 4.

 

 

Рис. 5. Граф перемещения данных в пределах адресного пространства МК51

 

Как видно, центральное место занимает аккумулятор А, на который замыкается большинство пересылок данных, хотя некоторые из пересылок осуществляются и без участия аккумулятора. Большинство пересылок двухсторонние, т.е. в поле операнда можно менять местами операнд приемник и операнд источник данных. Исключение составляют пересылка непосредственного операнда и чтение данных из памяти программ.

Таблица 4

Название команды Мнемокод КОП Т Б Ц Операция
Пересылка в аккумулятор из регистра (n=0÷7) MOV A, Rn E8 - EF (A) (Rn)
Пересылка в аккумулятор прямо-адресуемого байта MOV A, ad E5 (A) (ad)
Пересылка в аккумулятор байта из РПД (i=0,1) MOV A, @Ri E6 - E7 (A) ((Ri))
Загрузка в аккумулятор константы MOV A, #d (A) #d
Пересылка в регистр из аккумулятора MOV Rn, A F8 – FF (Rn) (A)
Пересылка в регистр прямо-адресуемого байта MOV Rn, ad A8 – AF (Rn) (ad)
Загрузка в регистр константы MOV Rn, #d 78 – 7F (Rn) #d
Пересылка по прямому адресу аккумулятора MOV ad, A F5 (ad) (A)
Пересылка по прямому адресу регистра MOV ad, Rn 88 – 8F (ad) (Rn)
Пересылка прямоадресуемого байта по прямому адресу MOV add, ads (add) (ads)
Пересылка байта из РПД по прямому адресу MOV ad, @Ri 86 – 87 (ad) ((Ri))
Пересылка по прямому адресу константы MOV ad, #d (ad) #d
Пересылка в РПД из аккумулятора MOV @Ri, A F6 – F7 ((Ri)) (A)
Пересылка в РПД прямо-адресуемого байта MOV @Ri, ad 66 – 67 ((Ri)) (ad)
Пересылка в РПД константы MOV @Ri, #d 76 – 77 ((Ri)) #d
Загрузка указателя данных MOV DPTR, #d16 (DPTR) #d16
Пересылка в аккумулятор байта из ПП MOVC A, @A+DPTR ((A) +(DPTR))
Пересылка в аккумулятор байта из ПП MOVC A, @A+PC (PC) (PC)+1, (A) ((A)+(PC))
Пересылка в аккумулятор байта из ВПД MOVX A, @Ri E2 – E3 (A) ((Ri))
Пересылка в аккумулятор байта из расширенной ВПД MOVX A,@DPTR E0 (A) ((DPTR))
Пересылка в ВПД из аккумулятора MOVX @Ri, A F2 – F3 ((Ri)) (A)
Пересылка в расширенную ВПД из аккумулятора MOVX @DPTR,A F0 ((DPTR)) (A)
Загрузка в стек PUSH ad C0 (SP) (SP) + 1, ((SP)) (ad)
Извлечение из стека POP ad D0 (ad) (SP), (SP) (SP) - 1
Обмен аккумулятора с регистром XCH A, Rn C8 – CF (A) ↔ (Rn)
Обмен аккумулятора с прямо-адресуемым байтом XCH A, ad C5 (A) ↔ (ad)
Обмен аккумулятора с байтом из РПД XCH A, @Ri C6 –C7 (A) ↔ ((Ri))
Обмен младших тетрад аккумулятора и байта РПД XCHD A, @Ri D6 – D7 (A0…3) ↔((Ri)0…3)

 

Команда XCH (Exchange - обмен) используется для обмена операндами между аккумулятором и ячейкой РПД с различными вариантами адресации, а команда XCHD – обмен младшими тетрадами (биты 0 – 3) с косвенной адресацией.

Группа команд - пересылок микроконтроллера имеет следующую особенность - в ней нет специальных команд для работы со специальными регистрами: PSW, таймером, портами ввода-вывода. Доступ к ним, как и к другим регистрам специальных функций, осуществляется заданием соответствующего прямого адреса, т.е. это команды обычных пересылок, в которых вместо адреса можно ставить название соответствующего регистра. Например, чтение PSW в аккумулятор может быть выполнено командой

MOV A, PSW, которая преобразуется ассемблером к виду

MOV А, 0D0h (E5 D0),где Е5 – код операции, а D0 – операнд (адрес PSW).

Кроме того, следует отметить, что в микроЭВМ аккумулятор имеет два различных имени в зависимости от способа адресации:

А – при неявной адресации (например, MOV A, R0) и АСС – при использовании прямого адреса. Первый способ предпочтительнее, однако, не всегда применим.

 


Поделиться:

Дата добавления: 2015-02-10; просмотров: 156; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты