53. Применение длинных и коротких переходов.
Иногда совместно с инструкцией JMP используется операция SHORT. Для указания на целевую метку инструкция JMP обычно использует 16-битовое смещение. Операция SHORT указывает Турбо Ассемблеру, что нужно использовать не 16-битовое, а 8-битовое смещение (что позволяет сэкономить в инструкции JMP один байт).
Недостаток использования операции SHORT (короткий) состоит в том, что короткие переходы могут осуществлять передачу управления на метки, отстоящие от инструкции JMP не далее, чем на 128 байтов, поэтому в некоторых случаях Турбо Ассемблер может сообщать вам, что метка недостижима с помощью короткого перехода. К тому же операцию SHORT имеет смысл использовать для ссылок вперед, поскольку для переходов назад (на предшествующие метки) Турбо Ассемблер автоматически использует короткие переходы, если на метку можно перейти с помощью короткого перехода, и длинные в противном случае.
Инструкцию JMP можно использовать для перехода в другой сегмент кода, загружая в одной инструкции и регистр CS, и регистр IP. Тогда выполняется переход дальнего типа.
Если вы хотите, чтобы метка принудительно интерпретировалась, как метка дальнего типа, можно использовать операцию FAR PTR.