64195 (80386 процессор), страница 3

2016-08-01СтудИзба

Описание файла

Документ из архива "80386 процессор", который расположен в категории "". Всё это находится в предмете "компьютерные науки" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "компьютерные науки" в общих файлах.

Онлайн просмотр документа "64195"

Текст 3 страницы из документа "64195"

Команда CALL передает управление из одной точки программ­ного сегмента в другую. Эти точки могут располагаться в одном и том же программном сегменте (ближний переход) или принадле­жать разным сегментам (дальний переход). Перед собственно пе­редачей управления команда CALL сохраняет в стеке адрес следу­ющей за CALL команды и текущее содержимое регистра EIP.

Команды CALL могут быть относительными, прямыми и косвен­ными. В косвенной команде абсолютный адрес перехода указывает­ся одним из двух способов: (1) МП извлекает адрес приемника из ячейки памяти, определенной в команде; (2) программа переходит в точку адрес которой указан в одном из регистров общего наз­начения.

CBW Преобразование байта в слово.

Эта команда расширяет значение бита знака в старшую часть более длинного регистра так, чтобы арифметические операции над содержимым этого регистра давали правильные результаты.

CWD Преобразование слова в двойное слово.

Действие команды аналогично команде CBW.

CLC Сброс флага переноса.

Команда сбрасывает флаг CF.

CLD Сброс флага направления.

Команда сбрасывает флаг DF. Если флаг DF сброшен, автома­тическая индексация будет выполняться с инкрементом. Автомати­ческая индексация используется командами обработки строк.

CLI Сброс флага прерываний.

Если текущий уровень привилегий по крайней мере столь же высок, как уровень привилегий ввода-вывода, команда сбрасывает флаг прерываний.

CLTS Сброс флага переключения задачи в управляющем ре­гистре 0.

Команда сбрасывает флаг TS в CR0. В МП 80386 флаг TS ус­танавливается каждый раз при переключении задачи. Команда ис­пользуется в системном программировании. Она представляет со­бой привилегированную команду, выполняемую только на нулевом уровне привилегий.

CMC Инвертирование флага переноса.

Команда инвертирует флаг переноса CF.

CMP Сравнение.

Команда выполняет вычитание операнда-источника из операн­да-приемника. В соответствии с результатом вычитания команда устанавливает состояние флагов, но не изменяет сами операнды.

CMPS Сравнение строковых операндов.

Ассемблер всегда транслирует команду CMPS как одну из CMPSB, CMPSW, CMPSD. Эти команды предназначены только для операций над строками. Они сравнивают по одному элементу каж­дой строки, причем элементами могут быть байт, слово или двой­ное слово. Элементы строк адресуются через регистры ESI и EDI. После каждой строковой операции ESI и/или EDI автоматически получают положительное или отрицательное приращение и указыва­ют на следующие элементы строк. Если DF=0, в индексных регист­рах осуществляется инкремент, если DF=1 - декремент. В зависи­мости от результата вычитания строкового элемента по адресу ES:EDI из строкового элемента по адресу DS:ESI устанавливаются флаги результата. Если команда модифицирована с помощью пре­фиксов, МП выполняет сравнение текущего элемента строки с со­держимым регистра EAX или его части (AL или AX).

CMPSB Сравнение строковых байтов.

CMPSW Сравнение строковых слов.

CMPSD Сравнение строковых двойных слов.

CDQ Преобразование двойного слова в четверное.

CWDE Преобразование слова в двойное слово с расширением.

DAA Десятичная коррекция в регистре AL после сложения. Команда корректирует результат сложения двух правильных

упакованных десятичных операндов в регистре AL. Эта команда должна всегда следовать за сложением двух пар упакованных де­сятичных чисел, чтобы получить в результате пару правильных упакованных десятичных цифр.

DAS Десятичная коррекция в регистре AL после вычитания. Команда DAS аналогична команде DAA за исключением, что

коррекция выполняется путем вычитания 6 из полубайтов регистра AL вместо прибавления 6.

DEC Декремент на 1.

Команда вычитает 1 из операнда приемника. Состояние флага CF не изменяется.

DIV Деление целых чисел без знака.

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

ENTER Создание кадра стека для параметров процедуры Команда создает кадр стека, который можно использовать

для реализации правил языков высокого уровня с блочной струк­турой. Команда LEAVE в конце процедуры выполняет обратные действия.

Команда имеет два параметра. Первый определяет число бай­тов динамической памяти, выделяемых в стеке для вызванной программы. Второй параметр соответствует лексическому уровню вложенности программы (от 0 до 31). Этот уровень определяет, сколько наборов указателей кадра стека копируются центральным процессором в новый кадр стека из текущего кадра.

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 Переход

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

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

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 Отсутствие переполнения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Команды обеспечивают условный переход для циклического выполнения участка программы. Число шагов определяется значе­нием, занесенным в регистр ECX. Все разновидности команды ав­томатически выполняют декремент ECX и останавливают цикл, если ECX=0.

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5224
Авторов
на СтудИзбе
426
Средний доход
с одного платного файла
Обучение Подробнее