Page 89 - 149
P. 89
До команд порозрядної обробки даних відносяться команди логічні
лінійного зсуву і команди циклічного зсуву (табл.4.17). Логічні команди
реалізують стандартний набір порозрядних логічних операцій НЕ, І, Або,
виключаючи АБО. У залежності від значення поля W операнди можуть бути
одно- або двобайтовими. Всі команди, за винятком NOT, встановлюють
ознаки OF і С , CF у стані "О", ознаки SF, JF й PF- за результатом. Значення
ознаки AF визначено. Команда NOT не змінює ознаки. Команда TEST виконує
порозрядну логічну операцію І над вихідними операндами, встановлює
ознаки, але результат в операнд-приймач не відсилає.
На відміну від мікропроцесора КР580ИК80 у К1810ВМ86
реалізовані операції циклічного і лінійного зсуву на один розряд і на
програмно встановлене в регістрі С число розрядів.
При виконанні лінійного зсуву вліво (команда SHL) ознака переносу
встановлюється за значенням біту, висунутому зі старшого розряду. Після
цього, якщо їхні значення не рівні, у стан і встановлюється ознака
переповнення. Отже, команду SHL для порядкових чисел, можна
використовувати для зсуву вліво і цілих чисел. При зсуві вправо ознака
переносу встановлюється в стан, що відповідає біту, висунутому з молодшого
розряду. Старші розряди по команді SHR заповнюються нулями (логічний
зсув), а по команді SAR- значенням старшого (знакового) розряду
(арифметичний зсув).
Стрічкові команди (MOUS, CMPS, SCAS, LODS, STOS) дозволяють не
тільки проводити розрахунки, але й опрацьовувати тексти. Опрацювання
стрічкових даних у мікропроцесорі К1810ВМ86 досягається за допомогою
однобайтових команд для типових операцій над окремими елементами рядків
і апаратної реалізації багатократного виконання таких команд шляхом
завдання спеціального однобайтового префікса. У якості елементів стрічок
можуть виступати одно - або двобайтові дані. Стрічки - джерела
розташовуються в сегменті даних, зміщення елементів стрічок у сегменті
задається вмістом регістра SI. Стрічки-приймачі розташовуються в
допоміжному сегменті, зміщення елементів стрічок задається вмістом регістра
DI. Стрічкові команди автоматично збільшують ( автоінкремент )
aбo зменшують (автодекремент) уміст регістрів SI і DI на одиницю або на два.
Автоінкремент або автодекремент задається ознакою напрямку DF. Команда
MOVS виконує пересилку елемента стрічки-джерела за адресою елемента
стрічки-приймача; CMPS шляхом віднімання елемента стрічки-приймача з
елемента стрічки-джерела порівнює їх (встановлює ознаки результату);LODS
завантажує елемент стрічки-джерела в регістр AX;SCAS порівнює вміст
регістра АХ і елемента стрічки-приймача; STOS пересилає вміст регістра АХ
за адресою елемента стрічки-приймача.
90