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

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

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





Головною інструкцією переходу у наборі інструкцій процесора 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; просмотров: 409. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


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


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

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Машины и механизмы для нарезки овощей В зависимости от назначения овощерезательные машины подразделяются на две группы: машины для нарезки сырых и вареных овощей...

Классификация и основные элементы конструкций теплового оборудования Многообразие способов тепловой обработки продуктов предопределяет широкую номенклатуру тепловых аппаратов...

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

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