Пример: Глобальная сеть INTERNET
Я ищу:
На главную  |  Добавить в избранное  

Главная/

Радиоэлектроника, компьютеры и периферийные устройства. /

80386 процессор

←предыдущая следующая→
1 2 3 4 5 6 7 8 

вом или двойным словом в памяти или регистре общего назначе-

ния. Команда использует содержимое регистров EAX и EDX в ка-

честве операндов.

2. Двухоперандная форма. Один из операндов-источников мо-

жет находиться в любом регистре общего назначения, в то время

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

ти. Произведение размещается на месте операнда в регистре об-

щего назначения.

3. Трехоперандная форма. Два операнда представляют собой

источники и один приемник. Один из операндов-источников явля-

ется непосредственным значением, записанным в команде. Второй

может находиться в памяти или в любом регистре общего назначе-

ния. Произведение может быть записано в любой регистр общего

назначения. Непосредственный операнд считается знаковым. Если

он является байтом, процессор перед выполнением умножения ав-

томатически расширяет его знак до размера второго операнда.

IN Ввод из порта

Команда вводит байт или слово из порта и записывает его в

регистре (AL, AH, EAX). Порт указывается вторым операндом. Для

доступа к порту его номер следует поместить в регистр DX и

использовать команду IN с обозначением DX в качестве второго

параметра.

INC Инкремент на 1.

Команда прибавляет 1 к операнду-приемнику, но в отличие

от ADD не влияет на флаг CF.

INT Вызов процедуры обработки прерывания

Команда передает управление от одной ячейки программного

сегмента на другую. Эти ячейки могут принадлежать одному прог-

раммному сегменту или разным программным сегментам. Команда

возбуждает программное прерывание, позволяющее пользователю

передть управление из своей программы программе обработки пре-

рываний.

Команда INTn активизирует программу обработки прерывания,

соответствующую номеру, указанному в команде. Команда может

- 18 -

определять прерывание любого типа. Заметьте, что прерывания

0..31 зарезервированы фирмой Intel. Возврат управления из

программы обработки прерывания осуществляется командой IRET.

INTO Прерывание по переполнению

Команда при установленном флаге OF возбуждает прерывание

4, которое специально зарезервировано для этой цели. Флаг OF

устанавливается рядом арифметических, логических и строковых

команд.

IRET Возврат из прерывания

Команда возвращает управление прерванной процедуре. В от-

личие от команды RET IRET извлекает из стека значения флагов и

помещает их в регистр флагов. Флаги записываются в стек в про-

цессе реализации прерывания.

IRETD Возврат из прерывания в 32-разрядном режиме

JMP Переход

Команда передает управление из одной точки сегмента в

другую. Точка перехода может быть в том же сегменте (ближний

переход) или в другом сегменте (дальний переход). Команда бе-

зусловно передает управление в точку перехода и является, та-

ким образом, однонаправленной.

Команды условных переходов:

JA/JNBE Выше, не ниже и не равно

JAE/JNB Выше или равно, не ниже

JB/JNAE Ниже, не выше и не равно

JBE/JNA Ниже или равно, не выше

JC Перенос

JE/JZ Равно, нуль

JNC Отсутствие переноса

JNE/JNZ Не равно, не нуль

JNP/JPO Отсутствие четности, нечетность

JP/JPE Четность

JG/JNLE Больше, не меньше и не равно

JGE/JNL Больше или равно, не меньше

JL/JNGE Меньше, не больше и не равно

JLE/JNG Меньше или равно, не больше

JNO Отсутствие переполнения

- 19 -

JNS Отсутствие знака

(положительно, включая нуль)

JO Переполнение

JS Знак (отрицательно)

LAHF Загрузка флагов в регистр AH

Хотя для изменения флагов CF и DF предусмотрены специаль-

ные команды, остальные флаги, используемые в прикладных прог-

раммах, нельзя изменять непосредственно. Эта команда дает воз-

можность программного изменения остальных битов флагов с по-

мощью команд побитовых операций после пересылки флагов в стек

или в регистр AH.

Команда копирует биты SF,ZF,AF,PF,CF соответственно в

разряды 7,6,4,2,0 регистра AH.

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

Команда читает дескриптор сегмента и заносит биты дроб-

ности(23), свободный (20), присутствия (15), DPL (14), типа

(9-11) и доступа (8) в 32-разрядный регистр, бит дробности и

свободный бит не пересылаются.

LEA Загрузка исполнительного адреса

Команда пересылает по адресу приемника относительный ад-

рес операнда-источника. Операнд-источник должен находиться в

памяти. Операнд-приемник должен быть регистром общего назначе-

ния. Команда особенно полезна для инициализации регистров пе-

ред выполнением действий над начальными данными или команды

XLAT.

LEAVE Выход из процедуры высокого уровня

Команда выполняет действия противоположные действию ко-

манды ENTER.

LGDT Загрузка регистра таблицы глобальных дескрипторов

LIDT Загрузка регистра таблицы

Команда оповещает аппратные средства о точке перехода в

случае прерываний.

LGS Загрузка полного указателя

LSS Загрузка указателя с использованием регистра SS

LDS Загрузка указателя с использованием регистра DS

- 20 -

LES Загрузка указателя с использованием регистра ES

LFS Загрузка указателя с использованием регистра FS

Команды указателей данных загружают указатель, состоящий

из селектора сегмента и относительного адреса, в регистр сег-

мента и регистр общего назначения.

LLDT Загрузка регистра локальных дескрипторов

Таблица локальных дескрипторов загружается, когда задача

или главная подсистема получает или восстанавливает контроль

над системой.

LWSW Загрузка слова состояния машины

Команда загружает в регистр CR0 слово сотояния машины.

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

жим.

LOCK Префикс установки сигнала LOCK#

Сигнал LOCK# захватывает общую память, так что МП получа-

ет ее в свое исключительное пользование на время выполнения

следующей за LOCK команды.

LODS Загрузка строкового операнда

LODSB Загрузка байта

LODSW Загрузка слова

LODSD Загрузка двойного слова

Эти команды обрабатывают не логические или арифметические

переменные, а строки. Они воздействуют на один элемент строки,

который может быть байтом, словом или двойным словом.

LOOP Циклическое выполнение, пока счетчик ECX не нуль

LOOPE Цикл, пока равно

LOOPZ Цикл, пока нуль

LOOPNE Цикл, пока не равно

LOOPNZ Цикл, пока не нуль

Команды обеспечивают условный переход для циклического

выполнения участка программы. Число шагов определяется значе-

нием, занесенным в регистр ECX. Все разновидности

←предыдущая следующая→
1 2 3 4 5 6 7 8 


Copyright © 2005—2007 «RefStore.Ru»