Структура машинної команди мікропроцесора і8086. Структура запису команд з використанням мнемокоду

 
 

Приклад:Переслати вміст комірки пам'яті з адресою DS: 1000Н у регістр-акумулятор AL.

Для того щоб переслати вміст комірки пам'яті в акумулятор, треба використати команду пересилки MOV dst, src, де операндом призначення dst (Destination) є реricтp AL, а операндом джерела інформації src (Source) - комірка пам'яті. Комірка пам'яті позначається квадратними дужками, всередині яких записується зміщення у сегменті, тобто друга логічна адреса. Перша логічна адреса за замовчуванням є вмістом регістра DS.

Після запису мнемоніки команди пересилки MOV записується операнд – призначення( тобто куди?), а потім через кому – операнд – джерело( тобто звидки?). Після операндів через крапку з комою записується коментар до команди. Отже, за командою

у регістр AL пересилається байт з комірки пам’яті з адресою DS: 1000H.

Зазначимо, що перед використанням цієї команди вміст регістра DS мае бути визначеним.

ПрикладПереслати вміст комірки пам’яті з адресою ES:1000H у регістр - акумулятор AL. за командою з префіксом ES

у AL пересилається вміст комірки пам’яті з адресою ES:1000H.

На відміну від 8-розрядних МП вказівник команд IP зберігає зміщення в сегменті кодів поточної команди.

Регістр прапорців зберігає ознаки результатів виконання арифметичних і логічних операцій і керувальні ознаки, які можна встановити або скинути програмно. Типи прапорців подано в табл. 2.

 

Таблиця 2. Призначення прапорців

 
 

ПрикладВизначити значения прапорців після виконання команди ADD AL, BL (додавання вмісту 8-розрядних регістрів AL, ВL; результат передасться в AL, якщо в регістрі

AL міститься число 49H, а в регістpi BL-68H. Після виконання команди додавання прапорці встановляться таким чином (рис. 2).

Пояснимо встановлення прапорців. Ре­зультат операції додавання не є нульовим, тому прапорець ZF скинуто, тобто ZF = 0.-Старший розряд результату дорівнює одиниці, тому SF= 1. Кількість одиниць у ре­зультатi 4, тобто парне число, тому PF = 1. У результаті додавання виникло переповнення із Рис. 2. Установления прапорців після молодшої тетради у старту (AF= 1), у знаковий розряд (OF= 1). виконання команди ADD AL, BL

Переповнення розрядної сітки не відбулося, тому CF = 0.