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
   87   88   89   90   91   92   93   94   95   96   97