Реферат: 80386 процессор
ESC Расширение процессора
Арифметический сопроцессор предоставляет расширение
системы команд МП 80386. Сопроцессор поддерживает высокоточные
вычисления как целочисленные, так и с плавающей точкой и, кроме того, содержит набор полезных констант, ускоряющих вычисления. Сопроцессор работает параллельно с центральным процессором, обеспечивая таким образом высокую производительность.
Команды сопроцессора включаются в общий поток команд, составляющих программу для МП 80386. Система выполняет команды сопроцессора в том порядке, в котором они появляются в потоке.
HLT Останов
Команда прекращает выполнение любых команд и переводит МП в состояние останова. Немаскируемые прерывания, операция запуска и разрешенные прерывания возобновляют работу процессора. Команда HLT обычно является последней командой в последовательности команд останова системы, например для сохранения состояния процесса после обнаружения сбоя питания.
IDIV Знаковое деление
Команда выполняет знаковое деление. Делимому, частному и остатку неявно назначаются определенные регистры, в то время как местонахождение делителя указывается явным образом. По форме делителя определяется, какие регистры должны использоваться. Если делитель равен нулю или частное слишком велико для регистра-приемника, возбуждается прерывание 0.
IMUL Знаковое целочисленное умножение
Команда выполняет операцию знакового целочисленного умножения. Команда имеет три варианта.
1. Однооперандная форма. Операнд может быть байтом, словом или двойным словом в памяти или регистре общего назначения. Команда использует содержимое регистров EAX и EDX в качестве операндов.
2. Двухоперандная форма. Один из операндов-источников может находиться в любом регистре общего назначения, в то время как другой может быть в регистре общего назначения или в памяти. Произведение размещается на месте операнда в регистре общего назначения.
3. Трехоперандная форма. Два операнда представляют собой источники и один приемник. Один из операндов-источников является непосредственным значением, записанным в команде. Второй может находиться в памяти или в любом регистре общего назначения. Произведение может быть записано в любой регистр общего назначения. Непосредственный операнд считается знаковым. Если он является байтом, процессор перед выполнением умножения автоматически расширяет его знак до размера второго операнда.
IN Ввод из порта
Команда вводит байт или слово из порта и записывает его в регистре (AL, AH, EAX). Порт указывается вторым операндом. Для доступа к порту его номер следует поместить в регистр DX и использовать команду IN с обозначением DX в качестве второго параметра.
INC Инкремент на 1.
Команда прибавляет 1 к операнду-приемнику, но в отличие от ADD не влияет на флаг CF.
INT Вызов процедуры обработки прерывания
Команда передает управление от одной ячейки программного сегмента на другую. Эти ячейки могут принадлежать одному программному сегменту или разным программным сегментам. Команда возбуждает программное прерывание, позволяющее пользователю передть управление из своей программы программе обработки прерываний.
Команда INTn активизирует программу обработки прерывания, соответствующую номеру, указанному в команде. Команда может определять прерывание любого типа. Заметьте, что прерывания
0..31 зарезервированы фирмой Intel. Возврат управления из программы обработки прерывания осуществляется командой IRET.
INTO Прерывание по переполнению
Команда при установленном флаге OF возбуждает прерывание 4, которое специально зарезервировано для этой цели. Флаг OF устанавливается рядом арифметических, логических и строковых команд.
IRET Возврат из прерывания
Команда возвращает управление прерванной процедуре. В отличие от команды RET IRET извлекает из стека значения флагов и помещает их в регистр флагов. Флаги записываются в стек в процессе реализации прерывания.
IRETD Возврат из прерывания в 32-разрядном режиме
JMP Переход
Команда передает управление из одной точки сегмента в другую. Точка перехода может быть в том же сегменте (ближний переход) или в другом сегменте (дальний переход). Команда безусловно передает управление в точку перехода и является, таким образом, однонаправленной.