МЕТОДИЧЕСКИЕ УКАЗАНИЯ. Рассмотрим каждый вариант более подробно
Рассмотрим каждый вариант более подробно. Пример 1. jmp shortTarget – прямой короткий переход (в пределах –128…+127 байтов). Структура программы с данным видом перехода имеет вид: jmpshort Cont … Cont: Метка Cont должна отстоять от команды, следующей за jmp, не более, чем на 128 байтов назад или на 127 байтов вперед. Пример 2. jmp nearTarget – прямой ближний, или внутрисегментный переход. Структура программы с данным видом перехода имеет вид: jmp Cont … Cont: Метка Cont может находиться в любом месте сегмента кода, как до, так и после команды jmp. В некоторых случаях удобно пользоваться другой формой команды ближнего перехода: jmp near Cont вкоторойвявнойформеуказывается, чтопереходдолженбытьближним(втомже сегменте кода). Пример 3. jmp farTarget – прямой дальний, или межсегментный переход. Структура программы с данным видом перехода имеет вид: SEGMENT CSeg1 Word Public ‘CODE’ … jmpfar Cont … ENDS CSeg1 SEGMENT CSeg2 Word Public ‘CODE’ … Cont: … ENDS CSeg2 Метка Cont и команда перехода находятся в разных сегментах кода. Пример 4. jmp regW/memW – косвенный ближний (внутрисегментный) переход. Структура программы с данным видом перехода имеет вид: ContAdr dwCont; Адрес точки перехода … jmp[WORD ContAdr] … Cont: Точка перехода Cont может находиться в любом месте сегмента кода, как до, так и после команды jmp. Пример 5. jmp memDW – косвенный дальний (межсегментный) переход. Структура программы с данным видом перехода имеет вид:
SEGMENT DSeg Word Public ‘DATA’ … ContAdr dd Cont; Адресточкиперехода (CS: IP) … ENDSDSeg SEGMENT CSeg1 Word Public ‘CODE’ movax, DSeg movds, ax … jmp[DWORD Cont] … ENDS CSeg1 SEGMENTCSeg2 WordPublic ‘CODE’ … Cont: … ENDS CSeg2 ТочкапереходаContикомандапереходанаходятсявразныхсегментахкодаЯчейка ContAdrобъявляетсядирективойDDисодержитдвухсловныйадресточкиперехода–в первом слове смещение Cont в сегменте кода CSeg2, во втором слове сегментный адрес CSeg2. Обе компоненты адреса перехода могут быть вычислены и помещены в ячейку ContAdrпо ходу выполнения программы. СОДЕРЖАНИЕ РАБОТЫ 1.Изучить действия команд передачи управления и безусловного перехода. 2.Выполнить на компьютере примеры и изучит различные варианты перехода. ВОПРОСЫ ВЫХОДНОГО КОНТРОЛЯ: 1.Сформулируйте понятие короткого перехода. 2.Сформулируйте понятие близкого перехода. 3.Сформулируйте понятие дальнего перехода. 4.Назовите команду безусловного перехода, ее синтаксис. ДОМАШНЕЕ ЗАДАНИЕ Выучитькомандыбезусловногоперехода.
Лабораторнаяработа №3
|