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

Побітові логічні операції



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

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

В ЕОМ найбільшого поширення набули такі логічні операції: інвертування (NOT), операція “АБО” (OR), операція “І” (AND) та операція “Складання, що виключає”, тобто “ЧИ” (XOR). Дані операції виконуються над бітами, і особливості їх виконання наведені в таблиці 16.2.

Таблиця 16.2 – Побітові логічні операції

Операція   Опис     Біт 1   Біт 2   Біт результату  
NOT     Інвертування        
           
AND     Множення        
     
     
     
OR     Складання          
     
     
     
XOR     Складання, що виключає          
     
     
     

Мікропроцесор має вісім команд, що виконують зсув 8-, 16- чи 32-бітового вмісту регістру або комірки пам’яті на задану кількість двійкових розрядів вправо чи вліво. Чотири з них зрушують число лінійно (лінійний зсув), а інші чотири його обертають, тобто циклічно зрушують (циклічний зсув). Є логічні та арифметичні команди лінійного зсуву. Логічні команди зрушують число, не зважаючи на його знак. Вони використовуються для дій над числами без знака та над нечисловими значеннями, наприклад, над масками. Арифметичні команди зберігають старший, тобто знаковий біт числа. Вони використовуються для дій над числами зі знаком.

При лінійному логічному зсуві вліво (SHL) та лінійному арифметичному зсуві вліво (SAL) нуль заноситься у вакантний молодший біт. При лінійному логічному зсуві вправо (SHR) та лінійному арифметичному зсуві вправо (SAR) значення знакового розряду заноситься у вакантний старший біт. Біт, що вийшов за межі числа, вважається загубленим.

При циклічному зсуві вліво ROL або вправо ROR біт, що вийшов за межі числа, входить в нього з протилежного кінця. Одночасно цей біт відтворюється в прапорі CF регістру прапорів процесора. При циклічному зсуві вліво RCL та циклічному зсуві вправо RCR значення біта, що вийшов за межі числа з одного боку, потрапляє в прапор CF, а попереднє значення прапора CF при цьому потрапляє в число з протилежного боку.





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



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