Page 92 - 149
P. 92
Команди 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
мікропроцесора. Перехід на виконання наступної команди відбувається лише
93