рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Команди порозрядної обробки інформації

Команди порозрядної обробки інформації - раздел Образование, СИСТЕМА КОМАНД ТА ПРОГРАМУВАННЯ МІКРОКОНТРОЛЕРА КМ1816ВЕ51 Команди Порозрядної Обробки Інформації Відрізняються Від Команд Арифметичних ...

Команди порозрядної обробки інформації відрізняються від команд арифметичних операцій тим, що працюють з окремими бітами незалежно від умісту байта в цілому. Такі команди є для байтового і бітового формату даних. Їх також називають логічними командами, тому що з їх допомогою можна обчислювати функції алгебри логіки НІ, І, АБО і ВИКЛЮЧНЕ АБО. Наведемо для довідки таблицю значень цих функцій:

X У /X X.AND.Y X.OR.Y X.XOR.Y

0 0 1 0 0 0

0 1 1 0 1 1

1 0 0 0 1 1

1 1 0 1 1 0

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

Для одержання зворотного коду (логічна функція АБО) при байтовому форматі даних призначена команда

CPL А

Мнемоніка цієї команди ComPLement означає «доповнення», хоча в результаті її виконання виходить не додатковий, а зворотний код. Маються дві команди аналогічного призначення, що працюють з окремими бітами:

CPL С

CPL flag

Крім того, інверсія біта може бути використана в командах І та АБО, як показано далі.

Команди для обчислення функції І в байтовому форматі використовують різноманітні способи адресації. Очевидно, мнемоніка команди розшифровується як ANd Logical.

ANL A, #src

ANL A, Rn

ANL A, @Ri

ANL A, src

ANL dst, A

ANL dst, #src

Ці команди можуть використовуватися, наприклад, для очищення окремих бітів двійкового коду, або для перевірки наявності 1 у деякому наборі бітів. Маються дві команди, що обчислюють функцію І в бітовому форматі:

ANL С, flag

ANL С, /flag

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

Аналогічний набір команд мається і для функції АБО в байтовому форматі з мнемонікою OR Logical:

ORL A, #src

ORL A, Rn

ORL A, @Ri

ORL A, src

ORL dst, A

ORL dst, #src

Ці команди можуть використовуватися, наприклад, для установки окремих бітів двійкового коду в 1. Маються дві аналогічні команди, що обчислюють функцію в бітовому форматі:

ORL С, flag

ORL С, /flag

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

Для функції ВИКЛЮЧНЕ АБО аналогічні команди існують тільки в байтовому форматі. Напевно, що відповідна команда розшифровується як exclusive o Logical:

XRL A, #src

XRL A, Rn

XRL A, src

XRL A, @Ri

XRL dst, A

XRL dst, #src

Ці команди можуть використовуватися, наприклад, для зміни значення окремих бітів двійкового коду на зворотне (toggle). Вони можуть також використовуватися для перевірки кодів на збіг.

До команд порозрядної обробки інформації можна віднести команди циклічного зрушення вліво і вправо, що працюють з 8-ми бітами (нагромаджувач) чи з 9-ма бітами (нагромаджувач + біт переносу):

RL А

RR А

RLC А

RRC А

Перша літера в мнемокодах цих команд означає Rotate (повертати), друга вказує на напрямок (Left чи Right), а третя — на участь біта переносу. При зсуві вліво в усі біти нагромаджувача, крім самого молодшого записується старий уміст сусіднього правого біта. При зсуві вправо в усі біти нагромаджувача, крім самого старшого, записується старий уміст сусіднього лівого біта. Якщо біт переносу не бере участь в операції циклічного зрушення, то при зсуві вліво в самий молодший байт записується старий уміст самого старшого біта, а при зсуві вправо в самий старший байт записується старий уміст самого молодшого біта. При участі біта переносу його уміст включається в ланцюжок циклічного переносу, що дозволяє здійснювати зсув вмісту багатобайтових кодів. До операції циклічного зсуву на 4 розряди без участі біта переносу можна віднести команду

SWAR A

Вона здійснює обмін напівбайтів умісту нагромаджувача, так що її можна інтерпретувати як зсув молодшого напівбайта на 4 розряди вліво і зсув старшого напівбайта на 4 розряди вправо.

Якщо перед виконанням команди зсуву очистити біт переносу, то зрушення за участю цього біта може використовуватися в якості команди арифметичної операції. Зсув вправо відповідає розподілу позитивного числа на 2, притім у біт переносу записується залишок від розподілу. Зсув уліво відповідає множенню позитивного числа на 2, притім 1 у біті переносу сигналізує про переповнення.

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

Таблиця 8.2

Група команд логічних операцій

Назва команди Мнемокод КОП Т Б Ц Операція
Логічне І акумулятора та Рг ANL A,Rn 01011rrr (A)¬(A)Ù(Rn)
Логічне І акумулятора та байта, що адресується прямо ANL A,ad (A)¬(A)Ù(ad)
Логічне І акумулятора та байта із РПД ANL A,@Ri 0101011i (A)¬(A)Ù((Ri))
Логічне І акумулятора та константи ANL A,#d (A)¬(A)Ù#d
Логічне І байта, що адресується прямо, та акумулятора ANL ad,A (ad)¬(ad)Ù(A)
Логічне І байта, що адресується прямо, та константи ANL ad,#d (ad)¬(ad)Ù#d
Логічне АБО акумулятора та регістра ORL A,Rn 01001rrr (A)¬(A)Ú(Rn)
Логічне АБО акумулятора та байта, що адресується прямо ORL A,ad (A)¬(A)Ú (ad)
Закінчення табл. 8.2
Назва команди Мнемокод КОП Т Б Ц Операція
Логічне АБО акумулятора та байта із РПД ORL A,@Ri 0100011i (A)¬(A)Ú((Ri))
Логічне АБО акумулятора та константи ORL A,#d (A)¬(A)Ú #d
Логічне АБО байта, що адресується прямо, та акумулятора ORL ad,A (ad)¬(ad)Ú (A)
Логічне АБО байта, що адресується прямо, та константи ORL ad,#d (ad)¬(ad)Ú #d
Виключне АБО акумулятора та регістра XRL A,Rn 01101rrr (A)¬(A)"(Rn)
Виключне АБО акумулятора та байта, що адресується прямо XRL A,ad (A)¬(A)" (ad)
Виключне АБО акумулятора та байта із РПД XRL A,@Ri 0110011i (A)¬(A)"((Ri))
Виключне АБО акумулятора та константи XRL A,#d (A)¬(A)" #d  
Виключне АБО байта, що адресується прямо, та акумулятора XRL ad,A (ad)¬(ad)"(A)
Виключне АБО акумулятора та константи XRL ad,#d (ad)¬(ad)" #d
Скидання акумулятора CLR A (A)¬0
Інвертування акумулятора CPL A (A)¬інв(А)
Зсув акумулятора ліворуч циклічно RL A (An+1)¬(An), n=0¸6, (A0)¬(A7)
Зсув акумулятора ліворуч циклічно через перенос RLC A (An+1)¬(An), n=0¸6, (A0)¬(C), (C)¬(A7)
Зсув акумулятора праворуч циклічно RR A (An)¬(An+1), n=0¸6, (A7)¬(A0)
Зсув акумулятора праворуч циклічно через перенос RRC A (An)¬(An+1), n=0¸6, (A7)¬(C), (C)¬(A0)
Обмін місцями тетрад в акумуляторі SWAP A (A0-3)«(A4-7)

 

Група команд операцій з бітами наведена в табл. 8.3.

Таблиця 8.3

Група команд операцій з бітами

Назва команди Мнемокод КОП Т Б Ц Операція
Скидання переносу CLR C (C)¬0
Скид біта CLR bit (b) ¬0
Встановлення переносу SETB C (C)¬1
Встановлення біта SETB bit (b) ¬1
Інверсія переносу CPL C (C)¬( інвС)
Інверсія біта CPL bit (b) ¬ (інвb)
Закінчення табл.8.3
Назва команди Мнемокод КОП Т Б Ц Операція
Логічне І біта і переносу ANL C,bit (C)¬(C) Ù (b)
Логічне І інверсії біта і переносу ANL C,/bit (C)¬(C) Ù (інвb)
Логічне АБО біта і переносу ORL C,bit (C)¬(C) Ú (b)
Логічне АБО інверсії біта і переносу ORL C,/bit (C)¬(C) Ú (інвb)
Пересилання біта в перенос MOV C,bit (C)¬(b)
Пересилання переносу в біт MOV bit,C (b) ¬(C)

 

– Конец работы –

Эта тема принадлежит разделу:

СИСТЕМА КОМАНД ТА ПРОГРАМУВАННЯ МІКРОКОНТРОЛЕРА КМ1816ВЕ51

СИСТЕМА КОМАНД ТА ПРОГРАМУВАННЯ МІКРОКОНТРОЛЕРА КМ ВЕ... Формати і способи адресації команд...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Команди порозрядної обробки інформації

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Формати і способи адресації команд
Команди можуть займати від одного до трьох байтів. Розмір команди визначається кодом операції, записаним у першому байті. Додаткові байти можуть містити адреси і/або дані. У символічному записі ком

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

Команди арифметичних операцій
У раніше розглянутих командах обробки інформації кодування вмісту окремих бітів байта не мало значення. В арифметичних операціях потрібно дотримуватись строго визначених правил запису даних відпові

Команди передачі управління
Опис керуючих команд почнемо з команд умовного переходу. Ці команди використовують тільки відносний спосіб адресації, тому для них будемо використовувати умовну позначку адреси переходу rel. Для ко

Арифметичні дії з великими числами
У мікроконтролерах сімейства і8051 відсутній набір команд для здійснення арифметичних дій у тих випадках, коли для представлення чисел потрібно використовувати більш одного байта. Тому розглянемо,

Арифметичні дії з негативними числами
  Команди множення і ділення дають правильні результати тільки у випадку позитивних операндів. Тому для правильного обчислення добутку чи частки у випадку негативних операндів потрібн

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

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги