загрузка...
загрузка...
На головну

Команди обробки даних

У всіх командах, пов'язаних з перетворенням (арифметичним і логічним) даних, як мається на увазі і тому неадресованими операнда використовується вміст найважливішого внутрішнього регістра мікропроцесора-акумулятора (А - регістра). Результат операції зазвичай також завантажується в акумулятор. Таким чином, акумулятор є вузловою точкою всіх перетворень даних і основним робочим регістром мікропроцесора. Він виконаний як регістр-фіксатор (засувка), вхід якого пов'язаний з виходом АЛУ, а вихід підключається до одного з входів АЛУ.

Арифметичні операції. Основна арифметична операція - це складання двійкових чисел. Крім основної операції, є ряд команд, що дозволяють виконувати обчислення з підвищеною точністю. При цьому, виконуючи додавання, треба враховувати біт перенесення, отриманий в молодших розрядах, а при виконанні вирахування-позику (borrow), зроблений в старших розрядах. Наявність перенесення або позички вказується третьої буквою мнемонічного скорочення (табл. 2.1).

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

Всі команди арифметичних операцій, включаючиADC RиSBB R, виконуються між даними в акумуляторі і вмістом регістра або комірки пам'яті, зазначеними в операндной зоні команди. наприклад,ADD rозначає (А) + (r) > (A), вміст А скласти з вмістом R, результат помістити в А.

Логічні операції. Основні функції та їх мнемонічні скорочення наведені в табл. 2.1. Логічні операції є порозрядному, т. Е. Виконуються незалежно один від одного для всіх восьми біт операндів. Перший неадресованими операнд знаходиться в акумуляторі, там же залишається результат операції. За результатом операції модифікуються всі тригери стану (прапори) крім тригера перенесення, який ніколи не може бути встановлений в одиницю, тому примусово скидається.

Таблиця 2.1. Команди арифметичних і логічних операцій

 функція  Переклад  мнемоніка
 скласти  Add  ADD R
 Скласти з урахуванням перенесення  Add + Carry  ADC R
 відняти  Subtract  SUB R
 Відняти з урахуванням позики  Subtract-Borrow  SBB R
 логічне І  AND  ANA R
 Ісключающее.xf.ott АБО  Exclusive OR  XRA R
 логічне АБО  OR  ORA R
 Порівняти  Compare  CMP R

При виконанні команди ANA C (А) ? (C) > А проводитися поразрядное кон'юнкція операндів (логічне АБО): над вмістом регістра А і регістра С.

Дана команда часто застосовується для перевірки значення певного слова в акумуляторі за допомогою іншого слова - маски. Якщо, наприклад, необхідно перевірити стан другого біта, то маска повинна мати вигляд 00000100. Після виконання команди ANA R по триггеру стану Z можна судити про стан цього біта. Крім того, за допомогою команди ANA R, використовуючи слово-маску, можна скидати в 0 певні біти слова в акумуляторі, залишаючи інші незміненими.

команда ORA r(A) V (r) > A, здійснює порозрядну диз'юнкцію операндів (логічне АБО) над вмістом регістра А і регістра R.

Ця команда застосовується для установки певних біт слова в акумуляторі за допомогою слова-маски. Вона застосовується також для скидання одного слова з полів інших слів. наприклад,

0 0 0 0 X3 X2 X1 X0

V

Y7 Y6 Y5 Y4 0 0 0 0

Y7 Y6 Y5 Y4 X3 X2 X1 X0

Така операція часто називається «упаковкою» даних.

Команда виключає АБО (XRA R) (A) V (r) > A, виробляє поразрядное двоичное складання операндів. Вона застосовується для інвертування певних бітів за допомогою слова-маски на основі тотожності 1V X = X. Інше застосування командиXRA Rпов'язане з перевіркою слова на абсолютну рівність. В єдиному випадку, при збігу операндів поразрядно , Результат операції містить нулі у всіх розрядах (X + Х = 0), про що свідчить значення тригера стану Z = 1.

команда порівнянняСМР r виробляє віднімання значення адресується операнда з вмісту акумулятора і модифікує по результату значення всіх тригерів стану, але при цьому не змінює вмісту акумулятора. Наявність в системі команд такого неруйнівного порівняння спрощує, наприклад, пошук в масиві заданого слова. Значення відшукуваного слова завантажується в акумулятор, базова адреса масиву завантажується в регістри HL, а потім за допомогою командиСМР М елементи масиву порівнюються зі словом-еталоном. Факт рівності фіксується за значенням тригера Z = 1.

До логічних операцій можна віднести також однобайтні команди инвертирования (в англійському буквально «доповнення») акумулятора Complement Accumulator (СМА), інакше, (А) > А, установки в 1 тригера перенесення Set Carry (STC), або CY > 1, і інвертування (доповнення) тригера перенесення Complement Carry (CMC): (CY) > CY

Команди з безпосереднім поданням операнда. з безпосереднім поданням операнда, можуть бути як арифметичні, так і логічні команди, всі вони мають двухбайтное формат: другим байтом є сам операнд. У мнемонике команд додається буква I (табл.2.2).

Таблиця 2.2. Команди з безпосереднім

Команди переміщення даних «-- попередня | наступна --» поданням операнда
загрузка...
© om.net.ua