Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПТ.doc
Скачиваний:
65
Добавлен:
03.11.2018
Размер:
20.52 Mб
Скачать

4.2.2 Система команд мікропроцесора вм86

Мікропроцесор ВМ86 має 92 типи команд. В таблиці 4.13 приведені їхні мнемокоди на мові асемблера і коротко вказане їх призначення.

Таблиця 4.13- Система команд мікропроцесора К1810ВМ86

Мнемокод

Призначення

AAA

AAD

AAM

AAS

ADC ADD

AND

CALL

CBW

CLC

CLD

CLI

CMC

CMP

CMPS, CMPSB або CMPSW

CWD

DAA

DAS

DEC

DIV

ESC

HLT

IDIV

IMUL

IN

INC

INT

INTO

IRET

JA або JNBE

JAE, JNB

або JNC

JB, JNAE

або JC

JBE або JNA

JCXZ

JE або JZ

JG або JNLE

JGE або JNL

JL або JNGE

JLE або JNG

JMP

JNE або JNZ

JNO

JNP або JPO

JNS

JO

JP або JPE

JS

LANF

LDS

LEA

LES

LOCK

LODS , LODSB або LODSW

LOOP

LOOPE або LOOPZ

LOOPNE або LOOPNZ

MOV

MOVS,MOVSB або MOVSW

MUL

NEG

NOP

NOT

OR

OUT

POP

POPF

PUSH

PUSHF

RCL

RCR

REP, REPE або REPZ

REPNE або

REPNZ

RET

ROL

ROR

SAHF

SAL або SHL

SAR

SBB

SCAS, SCASB або SCASW

SHR

STC

STD

STI

STOS, STOSB або STOSW

SUB

TEST

WAIT

XCHG

XLAT

XOR

Скоректувати додавання в кодах ASCII

Скоректувати ділення в кодах ASCII

Скоректувати множення в кодах ASCII

Скоректувати віднімання в кодах ASCII

Додати з переносом

Додати

Виконати операцію І

Викликати процедуру

Перетворити байт в слово

Обнулити індикатор переносу

Обнулити індикатор напрямку

Обнулити індикатор переривання

Перетворити індикатор переносу

Порівняти значення

Порівняти стрічки

Перетворити слово в подвійне слово

Скоректувати додавання для представлення в десятковій формі

Скоректувати віднімання для представлення в десятковій формі

Зменшити значення

Поділити

Передати команду співпроцесору

Зупинити

Розділити цілі числа

Помножити цілі числа

Зчитати значення з порту

Наростити значення

Перервати

Перервати при переповненні

Повернутися після переривання

Перейти, якщо вище

Перейти, якщо вище або рівне

Перейти, якщо нема переносу

Перейти, якщо нижче

Перейти, якщо перенос

Перейти, якщо нижче або рівне

Перейти, якщо вміст регістра СХ рівний нулю

Перейти, якщо рівне

Перейти, якщо більше

Перейти, якщо більше або рівне

Перейти, якщо менше

Перейти, якщо менше або рівне

Перейти безумовно

Перейти, якщо не рівне

Перейти, якщо нема переповнення

Перейти, якщо нема парності

Перейти, якщо знаковий розряд нульовий

Перейти, якщо переповнення

Перейти, якщо парність

Перейти, якщо знаковий розряд рівний 1

Завантажити регістр АН індикаторами

Завантажити вказівник з використанням регістра DS

Завантажити виконавчу адресу

Завантажити вказівник з використанням регістра ES

Замкнути шину

Завантажити стрічку

Повторювати цикл до кінця лічильника

Повторювати цикл, якщо рівне

Повторювати цикл, якщо не рівне

Переслати значення

Переслати строку

Помножити

Перетворити знак

Нема операції

Перетворити біти

Виконати операцію АБО

Вивести значення в порт

Помістити значення в стек

Помістити індикатори в стек

Дістати значення зі стеку

Дістати індикатори зі стеку

Зсунути вліво циклічно з індикатором переносу

Зсунути вправо циклічно з індикатором переносу

Повторювати, поки рівне

Повторювати, поки не рівне

Повернутися в процедуру, яка викликає

Зсунути вліво циклічно

Зсунути вправо циклічно

Завантажити індикатори з регістра АН

Зсунути вліво арифметично

Зсунути вправо арифметично

Відняти з запозиченням

Сканувати строку

Зсунути вправо логічно

Встановити індикатор переносу

Встановити індикатор напрямку

Встановити індикатор переривання

Зберегти стрічку

Відняти

Перевірити

Очікувати

Обмінювати значення

Вибрати значення з таблиці

Виконати операцію ВИКЛЮЧАЮЧЕ АБО

Цю систему команд можна розділити на сім функціональних груп:

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

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

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

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

5. Команди обробки ланцюжків, які переміщують, порівнюють та сканують ланцюжки (стрічки) даних.

6. Команди переривання, які відволікають мікропроцесор на обробку деяких специфічних ситуацій.

7. Команди керування процесором, які встановлюють або скидають індикатори стану, а також змінюють режим функціонування МП.

Далі розглянемо коротко систему команд за цими групами.

Команди МП К1810ВМ86 описуються відповідно до їхньої класифікації по функціональних групах. Позначення і алгоритми виконання команд приведені в табл. 4.14. Якщо в позначенні операнда розрядність не вказується, то в залежності від значення поля W команда може опрацьовувати 8-або 16-розрядні операнди.

Таблиця 4.14

Позначення

Характеристика

Е

Операнд в пам'яті або в РОН,що визначається

полями MOD і R/M

R

Операнд в РОП

RSEG

Операнд в сегментному регістрі

D

Безпосередні дані в команді

А

Якщо w=o, то операнд в регістрі AL

Якщо w=i,to операнд в регістрі АХ

St

Стек

М(...)

Операнд в пам’яті, в дужках вказується зміщення

в сегменті

PORT(...)

Операнд в регістрі зовнішнього пристрою, в

дужках вказується адрес пристрою

ЕА

Виконавча адреса операнда в пам'яті, що

визначається полями МOD і R/M

ЕХТ

Знакове розширення байта в словах або слова в

подвійне слово

&

Об'єднання байтів в слово, а слів в подвійне слово

В2 і ВЗ

Другий і третій байти команди

F(...)

Функція визначення значень ознак результату при

виконанні операції,вказаної в дужках

Команди пересилок (загального призначення , пересилки адрес, пересилки ознак , вводу-виводу і перекодування) забезпечують передачу операнда-джерела в операнд-приймач без перетворення (табл. 4.15).Команди пересилок загального призначення поділяють на симетричні команди, для вказівки операндів використання поля MOD, R/M і REG в другому байті і команди зі спрощеним форматом. Серед команд із спрощеним форматом є команда XCHG АХ, АХ, що використовується як команда NOP (немає операції). Спеціальна команда NOP в МП К1810ВМ86 відсутня . Команди пересилок адрес дозволяють динамічно змінювати операційну обстановку, тобто визначати поточні сегменти пам'яті. Слід зазначити, що після команд, що змінюють вміст сегментного регістра ( MOV і POP), забороняються переривання на час виконання наступної команди.

Таблиця 4.15

Мнемоніка

Алгоритми

Команди загального призначення

MOV

PUSH;POP

XCHG

E R;RE;ED

StE16;E16St

E R

Команди загального призначення спрощеного формату

MOV

PUSH;POP

RD;AM (ВЗ & В2);

М (ВЗ & В2)А

StR16;R16St

AX R16

XCHG

Команди пересилки адрес

MOV PUSH;POP

LEA

RsegE (Rseg  CS),E Rseg

St Rseg; RsegSt (Rseg  CS)

R16EA

LDS

LES

DSM16 (EA+2);R16M16 (EA)

ESM16 (EA+2);R16M16 (EA)

Команди пересилки ознак

PUSH;POPF LAHF;SAHF

StF;FSt

AHF;FAH

IN

OUT

APort (B2);APort (DX)

Port (B2)A;Port (DX)A

Команди перекодування

XLAT

ALM (BX+AL)

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

Команда LEA забезпечує програмну доступність виконавчої адреси. Вона дозволяє організувати доступ до елементів складних структур даних (наприклад, багатомірних масивів). Команди LDS і LES забезпечують завантаження покажчиків і особливо ефективні для підготовки обробки рядкових даних. Адресація регістрів зовнішніх пристроїв у командах вводу-виводу може бути пряма (у межах перших 256 регістрів) і опосередкована через регістр DX. Тим самим, з одного боку, досягається сумісність із МП КР580ИК80, а з іншого боку -завдяки непрямої адресації підвищується гнучкість адресації зовнішніх пристроїв.

Команда перекодування XLAT дозволяє опрацьовувати таблиці розміром 256 байтів. Початок таблиці в сегменті даних вказується в регістрі ВХ. Команда виконує пересилку в AL байта таблиці, що знаходиться за номером в регістрі AL. При відповідній підготовці таблиці забезпечується перетворення символьних рядків, наприклад із коду КОИ-7 у код ДКОИ і т.д.

Арифметичні команди (додавання, віднімання, додавання і віднімання спрощеного формату, множення, ділення і перетворення форматів даних) призначені для виконання основних арифметичних операцій над порядковими, цілими і двійково-десятковими числами. Алгоритми команд подані в табл.4.16. Команди віднімання і додавання (за винятком команд корекції) встановлюють ознаки результату. Команди INC і DEC залишають без зміни ознаку переносу. Команди ADC і SBB забезпечують виконання додавання і віднімання багатобайтових чисел. Порядкові, цілі і двійково-десяткові числа обробляються тими самими командами додавання і віднімання.

Щоб одержати правильний результат для двійково-десяткових чисел, необхідно зробити корекцію. З цією метою у випадку додавання для розпакованих чисел служить команда ААА, для упакованих - команда DAA. Корекція відбувається, якщо в результаті двійкового додавання в тетраді утворилося число більше 9 або виникло перенесення в наступну тетраду, тобто результат додавання двох десяткових цифр більше 16. У першому випадку необхідно відняти з тетради 10, у другому - додати в тетраду 6. Оскільки віднімання з тетради рівносильне додаванню б, то в обох випадках для корекції результату додають 6. При корекції розпакованих чисел опрацьовується тільки молодша тетрада, а старша обнулюється. Байт, що коректується, розташовується в регістрі AL. Якщо була необхідність додавання 6, то це свідчить про перенос у старший десятковий розряд, тому ознака CF встановлюється в 1. Крім того, до регістра АН добавляється 1. Тим самим підвищуються зручності опрацювання багаторозрядних двійково-десяткових чисел.

У випадку упакованих двійково-десяткових чисел спочатку відповідно до розглянутого способу опрацьовується молодша тетрада. Якщо після додавання числа 6 виникає перенос, то він складається зі старшою тетрадою, що потім опрацьовується.

Для корекції результату віднімання розпакованих двійково-десяткових чисел використовується команда AAS упакованих DAS. Відмінність алгоритму корекції віднімання полягає в тому, що при наявності запозичення зі старшої тетради з поточної необхідно відняти 6, тому що двійкове запозичення дорівнює 16, а не 10. Зручність опрацювання багаторозрядних двійково-десяткових чисел забезпечується установкою ознаки переносу, як при додаванні.

Команди СМР, що служать для порівняння даних, працюють так само, як команди SUB, проте результат в операнд-приймач не надходить, змінюється тільки стан ознак результату.

У групу команд множення входять команди MUL для множення порядкових чисел і IMUL для множення цілих чисел (із знаком). Для однобайтових даних один із співмножників повинний бути в AL, результат знаходиться в регістрі АХ. Для двобайтових даних один із співмножників знаходиться в регістрі АХ, молодше слово результату - у АХ, старше - у DX. Після виконання команд множення встановлюються ознаки переносу і переповнення.

У групу команд ділення входять команди DIV для ділення порядкових чисел і IDIV для ділення цілих чисел. Ділене займає регістр АХ при W=0 або регістри DX (старше слово) і АХ при W=1. Ціла частина дільника розміщається в регістр АН (АХ при W==1), залишок - в регістр AH (DH при W=1). Якщо при діленні порядкових чисел дільник більше 255 (65535 при W=1), або при діленні цілих чисел модуль дільника більше 127 (32767 при W=1), або дільник дорівнює 0, то виникає внутрішнє переривання за помилкою ділення. Після виконання команди ділення ознаки невизначені.

Таблиця 4.16

Мнемоніка

Алгоритми

Команди додавання

ADD

EE+R; RR+E;

EE+D; EE+Dext

ADC

EE+CF+R;

RR+CF+E;

EE+CF+D;

EE+CF+Dext

INC

EE+1

AAA,DAA

Корекція результату додавання розпакованих і

упакованих двійково-десяткових чисел

Команди віднімання

SUB

EE-R; RR-E; EE-D;

EE-Dext

SBB

EE-CF-R;

RR-CF-E;

EE-CF-D;

EE-CF-Dext

DEC

EE-1

NEG

EO-E

CMP

Ff (E-R);

Ff (R-E);

Ff (E-D); Ff (E-Dext)

AAS, DAS

Корекція результату віднімання

Команди додавання і віднімання спрощеного формату

ADD, ADC

AA+D; AA+CF+D

INC, DEC

RR+1;RR-1

CUB, SBB

AA-D; AA-CF-D

CMP

Ff (A-D)

Команди множення

МUL;IMUL

AXALE; DX&AXAXE

W=0 W=1

DIV;IDIV

A

Hmod (AX,E) ; ALAX/E при W=0

AX (DX & AX)/E; DXmod (DX & AX), E при W=1

AAM

Перетворення двійкового числа в регістрі AL, в розпаковане двійково-десяткове число в регістрах AL i AH

AAD

Перетворення розпакованого двійково-десяткового числа в AL і АН в двійкове число в AL

CBW

AHALext

CWD

DX & AXAXext


Команди перетворення байта в слово CBW і слова в подвійне слово CWD забезпечують знакове розширення байта і слова відповідно. Команда AAM використовується для корекції результату двійкового множення двох однобайтових розпакованих двійково-десяткових чисел; команда AAD - для підготування до ділення двобайтового розпакованого двійково-десяткового числа на однобайтове.

До команд порозрядної обробки даних відносяться команди логічні лінійного зсуву і команди циклічного зсуву (табл.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 пересилає вміст регістра АХ за адресою елемента стрічки-приймача.

Таблиця 4.17

Мнемоніка

Алгоритми

Логічні команди

NOT

AND

OR

XOR

TEST

EĒ

EE  R, RR  Е,Е  D

EE  R, RR  E, E  D

EE  R, RR  Е, Е  D

Ff(ER),Ff(RE)

Логічні команди спрощеного формату

AND:OR

XOR: TEST

AAD; AAD

AAD; Ff (AD)

Команди лінійного зсуву

SHL

ЕЕх2,ЕЕх2 cx

SAR

EE/2,EE/2 cx /- ділення цілих чисел

SHR

EE/2,E/2 cx, /-Ділення порядкових чисел

Команди циклічного зсуву

ROL: ROR

CF CF

RCL: RCR

CF CF

Для виконання дій над стрічками в програмі безпосередньо перед стрічковими командами необхідно розміщувати однобайтовий префікс повторення. Він задає багатократне виконання наступної стрічкової команди, супроводжуване відніманням одиниці з регістра СХ. Перед кожним виконанням стрічкової команди перевіряється вміст регістра СХ і, якщо він дорівнює нулю, повторення виконання припиняється.

Для стрічкових команд (CMPS і SCAS) умовою виходу з апаратного циклу є СХ=0 V ZF=Z, де Z - значення молодшого байта префікса повторення.

Таким чином, стрічкові команди дозволяють пересилати і порівнювати стрічки, робити пошук елемента в стрічці (або пропуск деякого елемента в стрічці) і заповнювати стрічки конкретним символом (наприклад, прогалиною). Стрічкові команди можна використовувати і для опрацювання масивів даних інших типів (наприклад, цілих, порядкових і т.п.).

Команди передачі керування (безумовної передачі керування, організації підпрограм, переривання, умовного переходу й організація циклів) призначені для зміни природного порядку виконання програми (табл. 4.18).

Таблиця 4.18

Мнемоніка

Алгоритм

JMP

Міжсегментна пряма

ІРВЗ&В2 CSB5&B4

Міжсегментна непряма

С8&ІРM16 (EA+2)&M16 (EA) Внутрішньосегментна пряма

ІРІР+ВЗ&В2

Внутрішньосегментна пряма коротка

IPIP+B2ext

Внутрішньосегментна непряма

ІРЕ

Команди організації підпрограм

CALL

Міжсегментна пряма

StCS, StIP, IPB3&B2

CSB5&B4

Міжсегментна непряма,

StCS, StIP,

CS&IPM16 (EA+2)&M16 (EA) Внутрішньосегментна пряма

StIP, IPIP+B3&B2

Внутрішньосегментна непряма

StlP, lPE

RET

Міжсегментна

IPSt, CSSt

Внутрішньосегментна

IPSt

Команди переривання

INT

StF, StCS, StIP

CS&IPPtr (B2),

IFO, TFO

Відмінність від INT

INT3

CS&IPPtr (3)

Відмінність від INT

INTO

Якщо OF=1,TO CS&IPPtr (4)

IRET

IPSt, CSSt, FSt

Команди JMP і CALL організують переходи як в середині поточного сегмента кодів, так і на інший сегмент кодів, що стає поточним. Крім переривання, тільки ці команди дозволяють переходити із сегмента в сегмент. При природному порядку виконання команд по досягненні кінця сегмента керування автоматично передається на початок сегмента.

Команди RET поділяються на команди з примусовим приростом вказівника стеку і без такого. Приріст задається в другому і третьому байтах команди і сумується з вмістом SP. Це відновлює вихідний стан вказівника стека при поверненні з процедур.

До команд переривання відносяться: INT- двобайтова, що задає програмне переривання, обумовлене користувачем; INT3 і INTO- однобайтове, що визначають програмні переривання по точках розриву і по переповненню. Вказівник для завантаження регістрів CS і IP при виконанні цих команд вибирається один із 256 чотирибайтових областей на початку поля адрес.

Вказівник (табл. 4.18) позначається Ptr, а в дужках записується номер чотирибайтової області. Команди INT використовуються, наприклад, для спрощення програмного інтерфейсу складних програмних комплексів-емуляторів, операційних систем і ін.; INT3 зручна у відлагоджувачах; INTO- для контролю переповнення.

Команда IRET служить для повернення з процедур обробки програмних або апаратних переривань.

Мікропроцесор К1810ВМ86 реалізує різноманітні команди умовного переходу. Всі вони є двобайтовими, причому при виконанні умови другий байт команди знаково розширюється до слова і сумується з вмістом регістра IP. Тим самим забезпечується умовний перехід в межах від 127 до - 128 байт від адреси першого байта наступної команди. Аналізовані умови і мнемокоди команд переходу за умовою подані в табл. 4.19.

Для покращення чіткості програм для багатьох команд умовного переходу задано декілька мнемокодів, кожний із який вибирається в залежності від контексту і дозволяє акцентувати увагу на сутність оброблюваних даних і особливості алгоритму. LOOP, JLOOPZ і LOOPNZ- команди організації циклів. Виконання цих команд полягає в зменшенні індексу числа, що знаходиться в регістр СХ, а при виконанні умови до вмісту IP додається значення другого байта команди, знаково розширене до слова. У команді LOOP умовою переходу є СХ^О, у команді LOOPZ-CX^O, ZF=1, а в команді LOOPNZ-CX^O, ZF=0.

Команди керування мікропроцесором поділяються на команди керування ознаками стану (табл. 4.20) і синхронізації (WAIT, ESC, HLT).

Команда WAIT із п'ятитактним інтервалом аналізує стан виводу TEST мікропроцесора. Перехід на виконання наступної команди відбувається лише після того, як сигнал на виводі TEST стане рівним 0. Це дозволяє синхронізувати виконання програми з деяким зовнішнім процесом.

Команда ESC організовує розширення системи команд за допомогою деякого співпроцесора. За вмістом полів MOD і R/M, а також сегментного регістра формується повна фізична адреса даних у пам'яті і видається на шину адреси. Тим самим співпроцесор може використовувати режими адресації центрального процесора.

Команда HLT переводить мікропроцесор в режим зупинки, із котрого його можна вивести перериванням або початковою установкою і запуском. При початковій установці всі розряди регістра сегмента команд встановлюються в стан "І", а вказівник команд, регістр ознак і інші сегментні регістри - в стан "О".Крім префікса повторення стрічкових команд мікропроцесора К1810ВМ86 може опрацьовувати ще два однобайтових префікси: блокування шини LOCK і заміни сегмента. Префікс LOCK забезпечує організацію монопольного доступу мікропроцесора до шини на увесь час виконання наступної за ним команди

Таблиця 4.19

Мнемокод

Відношення

Тип

Умова

JE

JZ

a=b

a=0

Цілі, порядкові

-

JF=1

Мнемокод

Відношення

Тип

Умова

JNE

JNZ

ab

a0

Цілі, порядкові

JF=0

JB

JNAE JC

a<b

(ab)

Порядкові

-

CF=1

JNB

JAE JNG

a>b

(ab)

Порядкові

-

CF=0

JG

JNLE

a>b

(ab)

Цілі

((SF  OF)  ZF)=0

Мнемокод

Відношення

Тип

Умова

JGE

JNL

ab

(a<b)

Цілі

(SF  OF)=0

JL

JNGE

a<b

(ab)

Цілі

(SF  OF)=0

JLE

JNG

ab

(a>b)

Цілі

((SF  OF)  ZF)=1

JA

JNDE

a>b

(ab)

Порядкові

(CF  ZF)=0

JBE

JNA

a<b

(ab)

Порядкові

(CFZF)=l

JO

OF=1

JNO

OF=0

JS

SF=1

JNS

SF=1

Мнемокод

Відношення

Тип

Умова

JPJPE

PF=1

JNPJPO

PF=0

JCXZ

CX=0

Таблиця 4.20

Мнемоніка

Алгоритм

STC, CLC, CMC

STD, CLD

STI, CLI

CF1,CFO, CFCF

DF1, JDFO

IF=1,IFO

Таблиця 4.21

Сегмент

Дані

Кодів

Даних

Стека

Допоміжний

CS

DS

SS

ES

Коди команд

+

-

-

-

Елементарні дані

S

+

S

S

Дані, які індексовані за

S

S

+

S

допомогою регістра ВР

Інші індексовані дані

S

+

S

S

Стек

-

-

+

-

Стрічка-джерело

S

+

S

S

Стрічка-приймач

-

-

-

+

Таблиця

S

+

S

S

Префікс заміни сегмента дозволяє скасувати звичайне використання сегмента і на час виконання наступної команди примусово встановити необхідний сегмент. В табл. 4.21 показані сегменти по замовчуванню (-) і сегменти з префіксом (+). Префікс заміни сегмента запобігає багатократним змінам вмісту сегментних регістрів.