На главную
Подписка
Новости










Главная / MS-DOS / MS-DOS. РУКОВОДСТВО РАЗРАБОТЧИКА / Глава 2 / Адресация относительно текущего сегмента Сделать домашней страницей Добавить в избранное Написать писмо

НАЗАД СОДЕРЖАНИЕ ВПЕРЁД

Адресация относительно текущего сегмента

Адресация относительно текущего сегмента указывает на значение действительного смещения для загрузки в указатель инструкции (как при косвенной инструкции CALL - вызвать процедуру) или для использования в качестве указателя данных. Ссылки, выполняемые этим способом, всегда указывают на ту же самую ячейку внутри блока памяти, адресуемого с помощью соответствующего регистра сегмента. Как таковые, программные коды или данные не могут быть пересланы внутри сегмента. Однако, такие программные коды могут быть пересланы в памяти, если регистр сегмента для этого блока также изменен. Т.к. сегменты должны быть выровнены на границу параграфа (шестнадцатиричный адрес XXXX0), то программный код может быть переслан только путем прибавления 16 байтов (один параграф).


Этот тип адресации используется внутри сегментными (близкими) косвенными инструкциями JMP - безусловный переход и CALL - вызов процедуры, где новое значение указателя инструкции пункта назначения выбирается из регистра или ячейки памяти. Эта адресация также используется во всех ссылках на данные независимо от используемого сегмента (DS, ES или SS). Код, использующий этот тип ссылок, рассматривается еще как переместимый, пока обновляются регистры сегмента для отражения позиции программного кода.


НАЗАД СОДЕРЖАНИЕ ВПЕРЁД

Hosted by uCoz