CLTS Сброс флага TS переключения задачи в регистре CR0

Каждый раз при переключении задачи флаг TS устанавливается в 1. Команда CLTS позволяет сбросить этот флаг.

LAR Загрузка байта прав доступа

Синтаксис:
lar операнд1, операнд2

Команда LAR использует в качестве операнда1 - 32-разрядный регистр. Кроме байта прав доступа в этот регистр заносятся биты типа сегмента (9-11), DPL (14), бит присутствия (15), бит дробности (23). Операнд2 явл селектором, указывающим на используемый дескриптор.


LGDT Загрузка регистра GDTR

Синтаксис:
lgdt источник

GDTR регистр глобальной дескрипторной табл.

47 15          0
ЛБА Предел

ЛБА – линейный базовый адрес

Предел – max возможное смещение табл от начала(т.е это размер табл. в байтах)

Команда выполняет инициализацию регистра GDTR, указывающего расположение в памяти и размер глобальной дескрипторной табл.


SGDT Запись в память содержимого регистра GDTR

Команда позволяет узнать текущее содержимое регистра глобальной дескрипторной таблицы GDTR, обычное её используют в системных отладчиках.

LIDT Загрузка регистра IDTR

Синтаксис:
lidt источник

IDTR регистр дескрипторной табл. прерываний

47 15          0
ЛБА Предел

ЛБА – линейный базовый адрес

Предел – max возможное смещение табл от начала(т.е это размер табл. в байтах)

IDT может содержать только шлюзы задач, шлюзы прерываний или шлюзы ловушек.

Команда выполняет инициализацию регистра IDTR, указывающего расположение в памяти и размер дескрипторной табл прерываний.


SIDT Записать в память содержимое регистра IDTR

Команда позволяет узнать текущее содержимое регистра глобальной дескрипторной таблицы прерываний IDTR, используется в системных отладчиках.

LLDT Загрузка регистра LDTR

Синтаксис:
lidt источник

LDTR регистр локальной дескрипторной табл.

Это одно из средств инкапсуляции данных.

15          0
Селектор

Этот регистр содержит селектор, который явл указателем в таблице, и описывает сегмент, содержащий локальную дескрипторную таблицу LDT;

Команда выполняет инициализацию регистра LDTR, указывающего расположение в памяти и размер локальной таблицы дескрипторов.


SLDT Записать в память содержимое регистра LDTR

Команда позволяет узнать текущее содержимое регистра локальной дескрипторной таблицы LDTR, используется в системных отладчиках. 

LMSW Загрузка слова состояния процессора

С помощью этой команды можно выполнить загрузку младшего слова регистра CR0 из регистра - операнда команды. Эта команда может использоваться для переключения МП в защищённый режим. Обратного переключения эта команда не обеспечивает (даже для процессоров i80386 и i80486).

SMSW Записать слова состояния процессора

Команда записывает в память или 16-битовый регистр младшее слово регистра CR0 и может быть использована в системных отладчиках.

LSL Загрузка предела сегмента

Синтаксис:
lsl операнд1, операнд2

Граница сегмента, селектор которого используется в качестве операнда2 (задаётся в регистре), загружается в регистр, указанный в качестве операнда1.


LTR Загрузка регистра задачи

Команда предназначена для загрузки регистра TR - регистра задачи. Загрузка этого регистра не приводит к переключению задачи.

STR Запись регистра задачи

Команда записывает текущее содержимое регистра задачи TR в 16-разрядную ячейку памяти или 16-разрядный регистр. Может использоваться в системных отладчиках.

VERR / VERW Проверить сегмент на возможность чтения / записи

С помощью этих двух команд можно проверить доступность выбранного селектором сегмента на чтение и запись, соответственно. Если операция чтения или записи доступна, флаг нуля ZF устанавливается в 1, в противном случае он сбрасывается в 0.

Основное назначение этой команды - предотвратить возникновение исключения по защите памяти при попытке обращения к сегменту. Прежде чем выполнять обращение, программа может проверить доступность сегмента и сделать соответствующие выводы.



Опешите состав и назначение команд передачи адресных объектов.

lea назначение,источник — загрузка эффективного адреса;
lds назначение,источник — загрузка указателя в регистр сегмента данных ds;
les назначение,источник — загрузка указателя в регистр дополнительного сегмента данных es;
lgs назначение,источник — загрузка указателя в регистр дополнительного сегмента данных gs;
lfs назначение,источник — загрузка указателя в регистр дополнительного сегмента данных fs;
lss назначение,источник — загрузка указателя в регистр сегмента стека ss.

Команда lea похожа на команду mov тем, что она также производит пересылку. Однако, обратите внимание, команда lea производит пересылку не данных, а эффективного адреса данных (то есть смещения данных относительно начала сегмента данных) в регистр, указанный операндом назначение.

Часто для выполнения некоторых действий в программе недостаточно знать значение одного лишь эффективного адреса данных, а необходимо иметь полный указатель на данные. полный указатель на данные состоит из сегментной составляющей и смещения. Все остальные команды этой группы позволяют получить в паре регистров такой полный указатель на операнд в памяти. При этом имя сегментного регистра, в который помещается сегментная составляющая адреса, определяется кодом операции. Соответственно, смещение помещается в регистр общего назначения, указанный операндом назначение.

 







Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: