Работ №05. Программирование ветвлений и циклов 1


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



Pdf көрінісі
бет2/6
Дата15.10.2023
өлшемі427.25 Kb.
#480816
түріРешение
1   2   3   4   5   6
Р05 Ветвления и циклы

2.2. Команда безусловного перехода 
Безусловный переход производится по команде JMP. Её 
полный формат: 
JMP [модификатор] адрес_перехода. 
Адрес перехода – либо метка, либо адрес области памяти с 
предварительно помещенным указателем перехода. 
В системе команд микропроцессора существуют 
несколько кодов машинных команд безусловного 
перехода. Они различаются дальностью перехода и 
способом задания целевого адреса. Дальность перехода 
определяется 
местоположением 
операнда 
адрес_перехода
• близкий / внутрисегментный (в текущем сегменте 
кода); 
• дальний / межсегментный (в другом сегменте кода). 
Внутрисегментный переход предполагает, что изменяется 
только содержимое регистра IP. Можно выделить 3 
варианта внутрисегментного перехода: прямой короткий, 
прямой, косвенный. 
Прямой 
короткий 
внутрисегментный 
переход 
используется при расстоянии от команды JMP до адреса 
перехода ≤ 127 байт. Транслятор формирует машинную 
команду безусловного перехода длиной 2 байта (1Б – код 
операции, 2Б – смещение). 1Б определяет интерпретацию 
2Б 
как 
смещения. 
Транслятор 
ассемблера 
– 
однопроходный (машинный код программы получается за 
1 просмотр всех команд asm-кода) ➔ если безусловный 


переход должен происходить на адрес до команды JMP, то 
транслятор легко вычисляет смещение. Если же переход 
короткий на метку после команды JMP, то транслятору 
нужно подсказать необходимость формирование команды 
безусловного 
короткого 
перехода 
с 
помощью 
модификатора SHORT PTR (полностью – SHORT 
POINTERкороткий указатель): 
JMP SHORT PTR M1 
. . . . . .не более 35-40 команд 
M1: 
MOV AL, 34H. 


Достарыңызбен бөлісу:
1   2   3   4   5   6




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет