Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Команда безусловного перехода




Безусловные переходы выполняются с помощью команды JMP (от англ. JuMP – прыгнуть), формат которой показан на рис.9.2.

 

Рис. 9.2. Формат команды JMP

 

Адрес перехода чаще всего задается в виде метки. Выполнение команды не оказывает влияния на состояние флагов.

Безусловные переходы могут быть межсегментными (изменяются регистры CS и IP) и внутрисегментными (изменяется только регистр IP). Внутрисегментный переход может быть следующих типов:

– прямой;

– прямой короткий;

– косвенный.

Команда прямого перехода позволяет передавать управление в пределах всего сегмента. В этом случае тип перехода в команде JMP не указывается. Адрес перехода находится в самой команде.

 

m1: MOV AX,BX

JMP m1

 

Команда прямого короткого перехода применяется, когда расстояние от команды JMP до адреса перехода лежит в пределах –128…+127 байт (примерно 35…45 команд). Адрес перехода находится в самой команде. В отличие от прямого перехода такая команда занимает меньше места (два байта против трех) в памяти и быстрее выполняется. Если адрес перехода расположен до команды JMP, то ассемблер формирует короткую или обычную команду прямого безусловного перехода без дополнительных указаний (так как он уже рассчитал все адреса и знает, на каком расстоянии находится точка перехода от команды JMP). В случае расположения адреса перехода после команды JMP транслятор не может сам определить тип перехода, так как у него еще нет информации об адресе перехода, и по умолчанию он формирует команду прямого перехода. Для того чтобы в этом случае транслятор формировал команду короткого прямого перехода в команде JMP необходимо указывать тип перехода с помощью оператора ptr с типом short (см. разд.7.1):

 

JMP short ptr m1

; 35…45 команд (127 байт)

m1:

 

m2:

; 35…45 команд (–128 байт)

JMP m2

 

В случае косвенного перехода в команде JMP указывается не сам адрес перехода, а место где он хранится:

 

per DW m1

JMP per;переход на метку m1

MOV DX,per

JMP DX;переход на метку m1

m1:

 





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 496 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Жизнь - это то, что с тобой происходит, пока ты строишь планы. © Джон Леннон
==> читать все изречения...

2323 - | 2092 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.