Справочник по языку Ассемблера IBM PC

LDS/LES/LFS/LGS/LSS


(Load pointer into ds/es/fs/gs/ss segment register)

Загрузка сегментного регистра ds/es/fs/gs/ss указателем из памяти

Схема команды:  lds приемник,источник 
les приемник,источник 
lfs приемник,источник 
lgs приемник,источник 
lss приемник,источник 

Назначение: получение полного указателя в виде сегментной составляющей и смещения.


Алгоритм работы:


Алгоритм работы команды зависит от действующего режима адресации (use16 или use32):

    если use16, то загрузить первые два байта из ячейки памяти источник в 16-разрядный регистр, указанный операндом приемник. Следующие два байта в области источник должны содержать сегментную составляющую некоторого адреса; они загружаются в регистр ds/es/fs/gs/ss;

    если use32, то загрузить первые четыре байта из ячейки памяти источник в 32-разрядный регистр, указанный операндом приемник. Следующие два байта в области источник должны содержать сегментную составляющую, или селектор, некоторого адреса; они загружаются в регистр ds/es/fs/gs/ss.

    Состояние флагов после выполнения команды:

    выполнение команды не влияет на флаги

    Применение:


    Таким образом, с помощью данных команд в паре регистров ds/es/fs/gs/ss и приемник оказывается полный адрес некоторой ячейки памяти. Это обстоятельство можно использовать, к примеру, при работе с цепочечными командами, где существуют жесткие соглашения на размещение адресов обрабатываемых строк. Помните, что любая загрузка сегментного регистра приводит к обновлению соответствующего теневого регистра (см. урок 16). Смотрите также описание команды cmps с примером использования.
    См. также: уроки 5, 7, 11, команды и операторы ассемблера и



    Содержание раздела