|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
ПРАКТИЧНА РОБОТА №11Тема: Логічні команди та розрядні матриці Мета: Вивчити логічні команди та команди переміщення даних. Задачі: Робота з командами: AND, OR, XOR, NOT. Обладнання для виконання роботи: 1. Методичні вказівки що до виконання лабораторної роботи; 2. Персональний комп’ютер; 3. Відповідне програмне забезпечення (Windows 98, Microsoft Office 2000, XP, 2003, MS Excel, емулятор типу Emu8086 v2.57). Теоретичні основи: До логічних операцій відносяться: логічне множення (І, AND), логічне складання (АБО, OR), исключаюпдее АБО (XOR) і заперечення (NOT) Всі ці інструкції змінюють регістр ознак. Команда AND виконує логічне множення двох операндів — о1 і о2. Результат зберігається в операнді о1. Типи операндів такі ж, як в команди ADD: операнди можуть бути 8-, 16- або 32-бітовими регістрами, адресами пам'яті або безпосередніми значеннями. AND о1, о2 Таблиця істинності для оператора AND приведена нижче (таблиця. 11.1). Таблиця 11.1 Таблиця істинності для оператора AND Команда OR виконує логічне складання двох операндів — о1 і о2. Результат зберігається в операнді о1. Типи операндів такі ж, як в команди AND. OR ol, о2 Таблиця істинності для оператора OR приведена нижче (табл.11.2). Таблиця 11.2 Таблиця істинності для оператора OR Команда XOR обчислює те, що так зване «виключає АБО» операндів о1 і о2. Результат зберігається в о1. Типи операндів такі ж, як в попередніх інструкцій. Формат команди: XOR о1, о2 Таблиця істинності для оператора XOR приведена нижче (табл.11.3). Таблиця 11.3 Таблиця істинності для оператора ХOR Команда NOT використовується для інверсії окремих бітів єдиного операнда, який може бути регістром або пам'яттю. Відповідно команда може бути записана в трьох різних форматах: NOT r/m8 NOT г/ml би NOT r/m32 Таблиця істинності для оператора NOT приведена нижче (табл.11.4). Таблиця 11.4 Таблиця істинності для оператора NOT Масиви бітів (розрядні матриці) Будь-яке число можна записати в двійковій системі у вигляді послідовності нулів і одиниць. Наприклад, будь-яке 16-розрядне число складається з 16 двійкових цифр — 0 і 1. Ми можемо використовувати одне число для зберігання шістнадцяти різних станів — прапорів. Нам не потрібно витрачати місце на зберігання 16 різних змінних, адже для опису стану (включено/вимкнено) цілком достатньо 1 біта. Змінна, використовувана для зберігання прапорів, називається розрядною матрицею або масивом бітів. Високорівневі мови програмування також використовують розрядні матриці, наприклад, при зберіганні набору значень перерахування, для економії пам'яті. Ми вже знайомі з однією розрядною матрицею, яка дуже часто використовується в програмуванні, — це регістр ознак мікропроцесора. Ми будемо дуже часто стикатися з розрядними матрицями при програмуванні різних пристроїв: відеоадаптера, звукової плати і так далі В цьому випадку зміна одного біта в розрядній матриці може змінити режим роботи пристрою. Для зміни значення окремих бітів в матриці служать логічні операції. Перший операнд задає розрядну матрицю, з якою ми працюватимемо, а другий операнд задає так звану маску, використовувану для вибору окремих бітів. Для установки певних бітів масиву в одиницю (всі останні біти при цьому повинні залишитися без зміни) застосовується команда OR. Як маска візьміть двійкове число, в якому одиниці стоять на місці тих бітів, які ви хочете встановити в масиві. Наприклад, якщо ви хочете встановити перший і останній біти масиву, ви повинні використовувати маску 10000001. Всі останні біти залишаться незайманими, оскільки 0 OR X завжди повертає X. Аби скинути деякі біти (встановити їх значення в 0), візьміть за маску число, в якому нулі стоять на місці тих бітів, які ви хочете скинути, а одиниці — у всіх останніх позиціях, а потім використовуйте команду AND. Оскільки 1 AND X завжди повертає X, ми скинемо лише необхідні нам біти. За допомогою XOR також можна змінювати значення бітів, не знаючи попереднього стану. Для цього в масці встановите 1 для кожного біта, який ви хочете інвертувати (0 стане 1, а 1 стане 0), а для всіх бітів, що залишилися, встановите 0. Якщо ми виконаємо XOR двічі, то набудемо вихідного значення. Така поведінка операції XOR дозволяє використовувати цю команду для простого шифрування: до кожного байта шифрованих даних застосовується XOR з постійною маскою (ключем), а для дешифровки той же ключ застосовується (XOR) до шифрованих даних. Література: 1. Белов А. В. Самоучитель по микропроцессорной технике. СПб., Наука и техника. 2003 – 224с. 2. Мікропроцесорна техніка. Підручник /Якименко Ю. І, Терещенко Т. О. таінші/ - 2-ге вид., переробл. та доповн. – К.: ІВЦ «Видавництво «Політехніка»», 2004. – 440 с. 3. Микропроцессорные системы. Под ред. Д. В. Пузанкова. СПб., Политехника. 2002 – 935с. 4. Юров В. Assembler: Практикум. — СПб.: Питер, 2001. Техніка безпеки: Студенти та курсанти, які виконують практичні роботи у лабораторіях, згідно з розкладом занять, повинні виконувати привила техніки безпеки, а саме: 1. заходити у лабораторію тільки з дозволу викладача або завідуючого лабораторією; 2. не приносити до лабораторії легко палких та отруйних речовин; 3. без дозволу викладача або завідуючого лабораторією не вмикати ЄОМ та інші електричні прилади; 4. чітко та своєчасно виконувати накази викладача або завідуючого лабораторією; 5. у разі будь-якого інциденту, негайно доповісти викладачу або завідуючому лабораторією. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |