
99
LOOP next (Короткий перехід на
мітку next при нульовому значенні
вмісту регістра СХ, тобто при
одиничному значені прапорця Z, а
також автоматичне зменшення на
одиницю (декремент) вмісту
регістра СХ).
TEST AL, 1 (Логічне І вмісту
регістра AL та безпосереднього
операнда).
Пояснення вмісту поля disp L: Оскільки під
час виконання команди перейти треба з
адреси 0134 на адресу 0112, то disp L =
0112 – 0133 = –21 (в доповняльному коді).
Пояснення вмісту поля data L: Оскільки під
час виконання команди необхідно
перевірити на парність вміст регістра AL,
тобто визначити значення молодшого біта,
то виконується операція логічного І із
безпосереднім операндом 00000001
(2)
.
Трибайтні команди
MOV CX, 9 (Занесення в регістр СХ безпосереднього операнда).
Пояснення вмісту полів data L,Н: Оскільки під час виконання команди необхідно в 16-
розрядний регістр СХ занести число 0009Н, то data H = 00Н, data L = 09Н.
Примітка: У випадку команди MOV BX,0 необхідно в 16-розрядний регістр ВХ занести
число 0000Н, тоді data H = 00Н, data L = 00Н, а поле reg буде містити значення 011
(2)
.
Чотирибайтні команди
MOV AL, ARRAY[BX] (Занесення в регістр AL операнда у режимі
регістрової відносної адресації, ефективна адреса якого дорівнює сумі
вмісту базового регістра ВХ та 16-розрядного зміщення).
Пояснення вмісту полів disp L,Н: Під час виконання команди необхідно у 8-розрядний
регістр AL занести операнд, ефективна адреса якого містить 16-розрядну адресу зміщення,
що являє собою адресу початку масиву ARRAY, тобто 0102Н. Таким чином, disp H = 01Н,
disp L = 02Н.
Примітка: У випадку команди MOV ARRAY[BX], AL (Занесення вмісту регістра AL у
комірку пам’яті, ефективна адреса якої дорівнює сумі вмісту базового регістра ВХ та 16-
розрядного зміщення) ознака d=0 – результат записується у пам’ять у режимі адресації,
який визначається полями md,r/m.