Сделать свой сайт бесплатно

Реклама

Создай свой сайт в 3 клика и начни зарабатывать уже сегодня.

@ADVMAKER@
53. Применение длинных и коротких переходов.
Добавил: evmka 21 января 2012 06:06

53. Применение длинных и коротких переходов.

  Иногда совместно с  инструкцией  JMP  используется  операция SHORT.  Для  указания  на целевую метку инструкция JMP обычно использует 16-битовое смещение. Операция SHORT указывает Турбо  Ассемблеру,  что нужно использовать не 16-битовое, а 8-битовое смещение (что позволяет сэкономить в инструкции JMP один байт).

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

     Инструкцию JMP можно использовать для перехода в другой сегмент  кода,  загружая  в одной инструкции и регистр CS, и регистр IP. Тогда выполняется переход дальнего типа.

     Если вы хотите, чтобы  метка  принудительно  интерпретировалась,  как  метка  дальнего типа, можно использовать операцию FAR PTR.

Просмотры (384)  Комментарии (0)  Форум (51-64)
Зарегистрированный
Анонимно