Вопрос № 22911: Цитата:
Какое максимальное количество байтов могут обойти команды короткий JMP, LOOP и относительный переход ?...
Вопрос № 22.911
Цитата:
Какое максимальное количество байтов могут обойти команды короткий JMP, LOOP и относительный переход ?
Отправлен: 30.06.2005, 17:38
Вопрос задал: Терсков Алексей Николаевич (статус: Посетитель)
Всего ответов отправлено: 3
Отвечает: DSota
Здравствуйте, Терсков Алексей Николаевич!
Короткий jmp и loop вперед обходят (перепрыгивают) 127 байт и назад 126 байт.
--------- Открыть глаза навстречу солнцу.
Ответ отправил: DSota (статус: Практикант)
Отправлен: 30.06.2005, 18:06
Отвечает: Ayl
Здравствуйте, Терсков Алексей Николаевич!
Так как эти команды занимают 2 байта в коде программы, а первый занят под код команды, то на указание перехода отводится 1 байт. Переход знаковый, поэтому смещение находится в диапазоне от -128 до +127.
Смещение отсчитывается от начала следующей команды.
--------- Трудное - то, что можно сделать немедленно. Невозможное - то, для выполнения чего требуется немного больше времени
Ответ отправил: Ayl (статус: Профессор)
Отправлен: 30.06.2005, 18:17
Отвечает: Евгений Иванов
Здравствуйте, Терсков Алексей Николаевич!
-128...127 от начала следующей команды.
также есть 16 и 32-битные смещения (начиная с 386-процессора).
но это только команды jmp.
LOOP только 8 бит. да и выполняется она долго и не параллелизуется на конвейерах. так что её лучше не применять!
удачи!
--------- Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 01.07.2005, 13:36