Студопедия — Безумовні переходи
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Безумовні переходи






Головною інструкцією переходу у наборі інструкцій процесора 8086 є інструкція JMP. Ця інструкція вказує процесору 8086, що у якості наступної за JMP інструкцією потрібно виконати інструкцію цільової мітки. Наприклад, після завершення виконання фрагменту програми:

 

mov ax,1

jmp AddTwoToAX

AddOneToAX

inc ax

jmp AxslSet

AddTwoToAX:

inc ax

AxlsSet:

регістр AX,буде містити значення 3, а інструкція ADD та JMP, слідуючи за міткою AddOneToAX, ніколи виконані не будуть. Тут інструкція:

 

AddTwoToAX

 

вказує процесору 8086, що треба встановити покажчик інструкцій IP у значення зміщення мітки AddTwoToAx, тому наступною виконуємою інструкцією буде інструкція:

 

add ax,2

 

Іноді спільно з інструкцією JMP використовується операція SHORT. Для вказівки не цільові мітку інструкція JMP звичайно використовує 16-бітове зміщення. Операція SHORT вказує Турбо Асемблеру, що треба використовувати не 16-бітове, а 8-бітове зміщення (що дозволяє зекономити в інструкції JMP один байт). Наприклад, останній фрагмент програми можна переписати так, що він стане на два байта коротшим:

 

mov ax,1

jmp SHORT AddTwoToAX

AddOneToAX:

inc ax

jmp SHORT AxsSet

AddTwoToAX:

inc ax

AxsSet:

 

Недолік використання операції SHORT (короткий) полягає у тому, що короткі переходи можуть здійснювати передачу керування на мітки, які на віддалі від інструкції JMP не далі, ніж на 128 байтів, тому у деяких випадках Турбо Асемблер може повідомляти вам, що мітка недосяжна за допомогою короткого переходу. До також операцію SHORT має сенс використовувати для посилок вперед, тому що для переходів назад (на попередні мітки) Турбо Асемблер автоматично використовує короткі переходи, якщо на мітку можна перейти за допомогою короткого переходу, та довгі у протилежному випадку.

Інструкцію JMP можна також використовувати для переходу в інший сегмент коду, завантажуючи в одній інструкції і регістр CS, і регістр IP. Наприклад, у програмі:

 

Cseg1 SEGMENT

ASSUME CS:Cseg1

FarTarget LABEL FAR

Cseg1 ENDS

Cseg2 SEGMENT

ASSUME CS:Cseg2

jmp FarTarget

Cseg2 ENDS

 

виконується перехід дальнього типу.

Якщо ви бажаєте, щоб мітка, примусово інтерпретувалася, як мітка дальнього тупу, можна використовувати операцію FAR PTR. Наприклад, у фрагменту програми:

 

jmp FAR PTR NearLabel

nop

NearLabel:

 

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

Нарешті, ви можете виконати перехід по адресі, записаній у регістрі чи в змінній пам’яті. Наприклад:

 

mov ax,OFFSET TestLabel

jmp ax

.

.

TestLabel:

 

Тут виконується перехід на мітку TestLabel, так як і у наступному фрагменту:

 

JumpTarget DW TaestLabel

 

jmp [JumpTarget]

.

.

TestLabel:







Дата добавления: 2015-04-16; просмотров: 389. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

Схема рефлекторной дуги условного слюноотделительного рефлекса При неоднократном сочетании действия предупреждающего сигнала и безусловного пищевого раздражителя формируются...

Уравнение волны. Уравнение плоской гармонической волны. Волновое уравнение. Уравнение сферической волны Уравнением упругой волны называют функцию , которая определяет смещение любой частицы среды с координатами относительно своего положения равновесия в произвольный момент времени t...

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Вопрос 1. Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации К коллективным средствам защиты относятся: вентиляция, отопление, освещение, защита от шума и вибрации...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

Вопрос. Отличие деятельности человека от поведения животных главные отличия деятельности человека от активности животных сводятся к следующему: 1...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия