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

Команди передачі даних



Незважаючи на передачу даних у незмінному вигляді, ці команди здійснюють один із способів обробки інформації. Як приклад такої обробки можна привести сортування. У командах пересилання використовуються всі варіанти використання способів адресації даних. Пересилання даних може здійснюватися у форматах байта, половини байта, двох байтів і біта.

Почнемо з байтового формату. Команда MOV (MOVe по-англійському означає «пересунути») копіює вміст джерела в приймач (при виконанні цієї команди первісний уміст приймача губиться): MOV A, #src

MOV A, Rn

MOV A, @Ri

MOV A, src

MOV Rn, A

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 (Clea означає очистити):

CLR А

Читання і запис даних байтового формату при звертанні до зовнішнього ОЗП здійснюється за допомогою команд MOVX, де літера X, очевидно, означає external (зовнішня пам'ять):

MOVX A, @Ri MOVX @Ri, A

MOVX A, @DPTR 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 С SETB С

CLR flag SETB flag

Команди пересилання не впливає на вміст слова стану програми, за винятком випадків пересилання інформації в цей регістр чи один з його бітів.

Група команд передачі даних наведена у табл. 8.1.

Таблиця 8.1

Група команд передачі даних

Назва команди Мнемокод КОП Т Б Ц Операція
Пересилання регістра в акумулятор MOV A,Rn 11101rrr       (A)(Rn)
Пересилання в акумулятор байта, що адресується прямо MOV A,ad         (A)(ad)
Пересилання в акумулятор байта із РПД (i = 0,1) MOV A,@Rі 1110011i       (A)((Ri))
Завантаження в А константи MOV A,#d         (A)#d
 
Закінчення табл. 8.1
Назва команди Мнемокод КОП Т Б Ц Операція
Пересилання в регістр із А MOV Rn, А 11111rrr       (Rn) (A)
Пересилання в регістр байта, що адресується прямо MOV Rn, ad 10101rrr       (Rn)(ad)
Завантаження в регістр константи MOV Rn, #d 01111rrr       (Rn) (#d)
Пересилання за прямою адресою Рг MOV ad, Rn 10001rrr       (ad) (Rn)
Пересилання за прямою адресою А MOV ad, А         (ad) (А)
Пересилання байта, що адресується прямо, за прямою адресою MOV add, ads         (add) (ads)
Пересилання байта з РПД за прямою адресою MOV ad,@Ri 1000010і       (ad) ((Ri))
Пересилання за прямою адресою незмінної MOV ad, #d         (ad) #d
Пересилання в РПД з А MOV@Ri, А 1111011і       ((Ri)))(A)
Пересилання в РПД байта, що адресується прямо MOV@Ri, ad 0110011і       ((Ri))) (ad)
Пересилання в РПД константи MOV@Ri, #d 0111011і       ((Ri))) #d
Завантаження покажчика даних MOV DPTR,#d16         (DPTR)#d16
Пересилання в акумулятор байта із ПП MOVC A, @A + + DPTR         (A)((A) + + (DPTR))
Пересилання в акумулятор байта із ПП MOVC A,@A+РС         (РС) (РС)=1 (A)((A)+ (РС))
Пересилання в акумулятор байта із ЗПД MOVХ A,@Rі 1110001і       (А) ((Rі))
Пересилання в акумулятор байта із розширеної ЗПД MOVX A,@DPTR         (A) ((DPTR))
Пересилання в ЗПД із акумулятора MOVX @Rі, А 1111001і       ((Rі)) (А)
Пересилання в ЗПД, що розширена, із акумулятора MOVX @DPTR, A         ((DPTR)) (А)
Завантаження в стек PUSH ad         (SP)(SP) + 1 ((SP))(ad)
Вивантаження із стека РОР ad         (ad)(SP) (SP)(SP) - 1
Обмін акумулятора з регістром XCH A, Rn 11001rrr       (A)«(Rn)
Обмін акумулятора з байтом, що адресується прямо XCH A, ad         (A)«(ad)
Обмін акумулятора з байтом із РПД XCH A, @Rі 1100011і       (A)«((Rі))
Обмін молодшої тетради акумулятора з молодшою тетрадою байта із РПД XCHВ A,@Rі 1101011і       (A0-3)«((Ri)0-3)
               




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



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