Программирование на JAVA

5.8, а требуется 7 байт. Обнов­ленное содержимое регистра указателя команды EIP будет равно 1007, то есть адресу последней в программе команды MOV. Таким образом, относительное расстояние до целевой команды перехода составляет -7; именно данное значение и содержится в команде условного перехода. Это маленькое отрицательное число можно представить одним байтом. Поэтому, с учетом байта кода операции, для записи команды условного перехода достаточно 2 байт. Такой размер имеют ко­манды перехода, в которых относительный адрес перехода лежит в диапазоне от -128 до +127. Если же расстояние до целевой команды перехода больше, то ис­пользуется 4-байтовое смещение.

В этом примере проверяется значение в регистре ЕСХ — нас интересует, боль­ше ли оно нуля. Другие свойства результата можно проверить при помощи иных команд условного перехода. Например, если результат равен нулю, переход вы­полняется командой JZ (или JE), а если знак результата отрицателен (знаковый бит равен 1) — командой JS.

Команды сравнения

Условный переход в программах часто осуществляется в соответствии с резуль­татом сравнения двух чисел. Команда Compare


<< назад вперед >>