русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Глава 26. Набор команд


Дата добавления: 2015-06-12; просмотров: 565; Нарушение авторских прав


26.1 Атрибуты размера операнда и размера адресa

26.1.1 Атрибут для сегмента по умолчанию

26.1.2 Префиксы размера операнда и размера адреса команд

26.1.3 Атрибут размера адреса для стека

26.2 Формат команды

26.2.1 Байты ModR/M и SIB

26.2.2 Как читать описание набора команд

26.2.2.1 Колонка кода операции

26.2.2.2 Колонка "Команда"

26.2.2.3 Колонка "Число тактовых циклов"

26.2.2.4 Колонка "Описание"

26.2.2.5 Работа команды

26.2.2.6 Описание

26.2.2.7 Изменяемые флаги

26.2.2.8 Исключения защищенного режима

26.2.2.9 Исключения режима реальных адресов

26.2.2.10 Исключения виртуального режима 8086

AAA - преобразование к ASCII после сложения

AAD - преобразование AX к ASCII перед делением

AAM - преобразование AX к ASCII после умножения

AAS - преобразование AL к ASCII после вычитания

ADC - сложение с флагом переноса

ADD - сложение

AND - логическое И

ARPL - преобразование поля RPL селектора

BOUND - проверка индекса массива относительно границ массива

BSF - поразрядное сканирование в прямом направлении

BSR - поразрядное сканирование в обратном направлении

BSWAP - изменение последовательности байтов

BT - проверка бита

BTC - проверка бита и дополнение

BTR - проверка бита и сброс

BTS - проверка бита и установка

CALL - вызов процедуры

CBW / CWDE - преобразование байта в слово / преобразование слова в двойное слово

CLC - очистить флаг переноса

CLD - очистить флаг направления

CLI - очистить флаг прерывания

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

CMC - дополнение флага переноса

CMP - сравнение двух операндов

CMPS / CMPSB / CMPSW / CMPSD - сравнение строковых операндов

CMPXCHG - сравнение и обмен

CWD / CDQ - преобразование слова в двойное слово/двойного слова в учетверенное слово



DAA - десятичное преобразование AL после сложения

DAS - десятичное преобразование AL после вычитания

DEC - декремент на 1

DIV - деление без знака

ENTER - создание кадра стека для параметров процедуры

F2XM1 - вычисление "(два в степени Х) минус 1"

FABS - абсолютное значение

FADD / FADDP / FIADD - сложение

FBLD - загрузка двоично- кодированного десятичного

FBSTR - сохранить двоично-кодированное десятичное и выполнить извлечение из стека

FCHS - изменение знака

FCLEX/FNCLEX - очистить исключения

FCOM / FCOMP / FCOMPP - сравнение действительных чисел

FCOS - косинус

FDECSTP - декремент указателя вершины стека

FDIV / FDIVP / FIDIV - деление

FDIVR / FDIVPR / FIDIVR - деление в обратном порядке

FFREE - освободить регистр операций с плавающей точкой

FICOM / FICOMP - сравнение целочисленных значений

FILD - загрузка целочисленного операнда

FINCSTP - инкремент указателя вершины стека

FINIT / FNINIT - инициализация модуля операций с плавающей точкой (FPU)

FIST / FISTP - сохранение целочисленного операнда

FLD - загрузка действительного значения

FLD1 / FLDL2T / FLDL2E / FLDPI / FLDLG2 / FLDLN2 / FLDZ - загрузка константы

FLDCW - загрузка управляющего слова

FLDENV - загрузка контекста FPU

FMUL / FMULP / FIMUL - умножение

FNOP - нет операции

FPATAN - частичный арктангенс

FPREM - частичный остаток

FPREM1 - частичный остаток

FPTAN - частичный тангенс

FRNDINT - округление к целому

FRSTOR - восстановить состояние FPU

FSAVE / FNSAVE - сохранить состояние FPU

FSCALE - умножение на масштабный множитель

FSIN - синус

FSINCOS - синус и косинус

FSQRT - квадратный корень

FST / FSTP - сохранить действительное число

FSTCW / FNSTCW - сохранить управляющее слово

FSTENV / FNSTENV - сохранить контекст FPU

FSTSW / FNSTSW - сохранить слово состояния

FSUB / FSUBP / FISUB - вычитание

FSUBR / FSUBPR / FISUBR - обратное вычитание

FTST - тестирование

FUCOM / FUCOMP / FUCOMPP - неупорядоченное сравнение

FWAIT - ожидание действительных чисел

FXAM - рассмотреть

FXCH - поменять местами содержимое регистра

FXTRACT - выделение экспоненты и мантиссы

FYL2X - вычисление Y*Log2 X

FYL2XP1 - вычисление Y*Log2 (X+1)

HLT - останов

IDIV - деление со знаком

IMUL - умножение со знаком

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

INC - инкркмент на 1

INS / INSB / INSW / INSD - ввод из порта в строку

CALL / INTO - вызов процедуры прерывания

INVD - аннулирование кеша

INVLPG - аннулирование элемента TLB

IRET / IRETD - возврат из прерывания

Jcc - переход, если условие перехода удовлетворяется

JMP - переход

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

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

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

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

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

LGS / LSS / LDS / LES / LFS - загрузка полного указателя

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

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

LOCK - префикс возбуждения сигнала LOCK#

LODS / LODSB / LODSW / LODSD - загрузка строкового операнда

LOOP / LOOPусловие - управление циклом при помощи счетчика CX

LSL - загрузка граници сегмента

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

MOV - пересылка данных

MOV - пересылка данных в специальные регистры и из них

MOVS / MOVSB / MOVSW / MOVSD - пересылка данных из строки

MOVSX - пересылка с расширением ЗНАКОМ

MOVZX - пересылка с расширением НУЛЕМ

MUL - умножение без знака AL или AX

NEG - отрицание с дополнением до двух

NOP - нет операции

NOT - отрицание с дополнением до одного (поразрядное дополнение)

OR - логическое исключающее ИЛИ

OUT - вывод в порт

OUTS / OUTSB / OUTSW / OUTSD - вывод строки в порт

POP - извлечение слова из стека

POPA / POPAD - извлечение из стека всех регистров общего назначения

POPF / POPFD - извлечение из стека регистров FLAGS или ERFLAGS

PUSH - помещение операнда в стек

PUSHA / PUSHAD - помещение в стек всех регистров общего назначения

PUSHF / PUSHFD - помещение в стек флаговых регистров

RCL / RCR / ROL / ROR - циклический сдвиг

REP / REPE / REPZ / REPNE / REPNZ - повторение следующей строковой команды

RET - возврат из процедуры

SAHF - запись AH во флаги

SAL / SAR / SHL / SHR - команды сдвига

SBB - целочисленное вычитание с заемом

SCAS / SCASB / SCASW / SCASD - сравнение строковых данных

SETcc - установка байта по условию

SGDT / SIDT - сохранение регистра таблици дескрипторов глобальной/прерываний

SHLD - сдвиг влево двойной точности

SHRD - сдвиг вправо двойной точности

SLDT - сохранение регистра локальной таблици дескрипторов

SMSW - сохранение слова состояния машины

STC - установка флага переноса

STD - установка флага направления

STI - установка флага прерывания

STOS / STOSB / STOSW / STOSD - сохранение строковых данных

STR - сохранение регистра задачи

SUB - целочисленное вычитание

TEST - логическое сравнение

VERR/VERW - верификация доступности чтения или записи сегмента

WAIT - ожидание

WBINVD - обратная запись и аннулирование кеша

XADD - обмен местами и сложение

XCHG - обмен местами регистра/памяти и регистра

XLAT / XLATB - Ассоциативная трансляция в таблице

XOR - логическое исключающее ИЛИ

Приложения

Приложение A. Таблица кодов операций

А.1 Использование аббревиатуры

А.2 Кодирование метода адресации

А.3 Кодирование типов операндов

А.4 Коды регистров

Приложение B. Таблица воздействия команд на флаги

B.1 Используемые обозначения

Приложение C. Таблица флагов состояния

C.1 Функции флагов состояния

C.2 Используемые обозначения

Приложение D. Коды условий

D.1 Определения условий

Приложение E. Форматы команд и синхронизация

E.1 Кодирование и время выполнения команд микропроцессором i486

E.2 Кодирование команд

E.2.1 Общий обзор

E.2.2 32-разрядные расширения набора команд

E.2.3 Кодирование полей целочисленных команд

E.2.3.1 Кодирование поля длины операнда (W)

E.2.3.2 Кодирование поля регистра общего назначения (reg)

E.2.3.3 Кодирование поля сегментного регистра (sreg)

E.2.3.4 Кодирование режима адресации

E.2.3.5 Кодирование поля направления операций (d)

E.2.3.6 Кодирование поля распространения знака (s)

E.2.3.7 Кодирование поля условия проверки (tttn)

E.2.3.8 Кодирование поля регистров управления, отладки и тестирования (eee)

E.2.4 Кодирование полей команд для вещественных вычислений

Приложение F. Краткое описание числовых исключений

Приложение G. Оптимизация кода

G.1 Режимы адресации

G.2 Модуль предварительной выборки

G.3 Выравнивание кеша и кода

G.4 Команда NOP

G.5 Команды работы с целыми числами

G.6 Коды условия

G.7 Команды работы со строками

G.8 Команды работы с числами с плавающей точкой

G.9 Префиксные коды операций

G.10 Перекрывающиеся такты

G.11 Руководство по использованию остальных команд



<== предыдущая лекция | следующая лекция ==>
Глава 18. Вычисления | Глава 1. Введение в описание процессора i486(TM).


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.127 сек.