МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Форматы данных и команды их обработки процессоров Pentium III, Pentium IV

    приходится.

    Инструкции двоичной арифметики выполняют все арифметические действия

    с байтами, словами и двойными словами, кодирующими знаковые или беззнаковые

    целые числа. Умножение и деление для 8086 возможны только с аккумулятором,

    результат для 16-битных операндов расширяется в регистре DX.

    Для 286+ возможно двух- и трехадресное умножение с расширенном тилько

    в старший байт (два байта для 386+).

    Таблица. Инструкции двоичной арифметики

    Инструкция Описание

    ADC Сложение двух операндов с учетом переноса от предыдущей

    операции

    ADD Сложение двух операндов

    СМР Сравнение (вычитание без сохранения результата — установка

    флагов)

    DEC Декремент (вычитание 1, но не действует на флаг CF)

    DIV Деление беззнаковое

    IDIV Деление знаковое

    IMUL Умножение знаковое

    INC Инкремент (сложение с 1, но не действует на флаг CF)

    MUL Беззнаковое умножение

    NEG Изменение знака операнда

    SBB Вычитание с заемом

    SUB Вычитание

    XADD Обмен содержимым и сложение (486+)

    Инструкции десятичной арифметики являются дополнением к предыдущим.

    Они позволяют оперировать с неупакованными (биты [7:4] = 0, биты [3:0]

    содержат десятичную цифру 0-9) или упакованными (биты [7:4] содержат

    старшую, биты [3:0] — младшую десятичную цифру 0-9) двоичнодесятичными

    числами. Арифметические операции над этими числами требуют применения

    инструкций коррекции форматов.

    Таблица. Инструкции десятичной арифметики

    Инструкция Описание

    ААА Десятичная коррекция после сложения двух неупакованных чисел

    AAD Десятичная коррекция перед делением неупакованного двузначного числа

    ААМ Десятичная коррекция после умножения двух неупакованных

    чисел

    AAS Десятичная коррекция после вычитания двух неупакованных

    чисел

    DAA Десятичная коррекция AL после сложения двух упакованных

    чисел

    DAS Десятичная коррекция AL после вычитания двух упакованных

    чисел

    Инструкции AAD и ААМ допускают обобщенный формат вызова, при котором

    коррекция выполняется но любому модулю (а не только по модулю 10).

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

    над байтами, словами или двойными словами.

    Таблица. Инструкции логических операций

    Инструкция Описание

    AND Логическое И

    NOT Инверсия (переключение всех бит)

    OR Логическое ИЛИ

    XOR Исключающее ИЛИ

    Сдвиги и вращения (циклические сдвиги) выполняются над регистром или

    операндом в памяти. Число позиций, на которое производится сдвиг, берется

    непосредственно из операнда или регистра CL по модулю 8 для однобайтного

    операнда и по модулю 16 или 32 для операнда-слова, в зависимости от

    разрядности данных (32 только для 386+). Биты, выталкиваемые при сдвигах,

    попадают во флаг CF. При сдвигах влево и простом сдвиге вправо

    освобождающиеся биты заполняются нулями (инструкции SAL и SHL — синонимы).

    При арифметическом сдвиге вправо старший бит (знак) сохраняет свое

    значение. При циклических сдвигах выталкиваемые биты попадают и во флаг CF,

    и в освобождающиеся позиции. В сдвигах могут участвовать и два операнда

    (инструкции SHLD и SHRD).

    Таблица. Инструкции сдвигов

    Инструкция Описание

    RCL Циклический сдвиг влево через бит переноса

    RCR Циклический сдвиг вправо через бит переноса

    ROL Циклический сдвиг влево

    ROR Циклический сдвиг вправо

    SAL Сдвиг арифметический влево

    SAR Сдвиг арифметический (с сохранением старшего бита) вправо

    SHL Сдвиг влево

    SHR Сдвиг вправо

    SHLD Сдвиг влево и вставка данных в освободившиеся позиции

    (386+)

    SHRD Сдвиг вправо и вставка данных в освободившиеся позиции

    (386+)

    Инструкции обработки бит и байт позволяют проверять (копировать в CF)

    и устанавливать значение указанного операнда, а также искать установленный

    бит. Битовые операции выполняются над 16-или 32-битным словом памяти или

    регистром. Инструкции BSF, BSR и ВТ не изменяют значения слова; ВТС, BTR и

    BTS воздействуют на указанный бит слова. Номер интересующего бита берется

    из операнда по модулю 16 или 32, в зависимости от разрядности.

    Операции с байтами обеспечивают условную установку значений 00h или

    01h. Инструкция тестирования может выполняться над байтом, словом или

    двойным словом.

    Таблица. Инструкции обработки бит и байт

    Инструкция Описание

    BSF Сканирование бит (поиск единичного) вперед

    BSR Сканирование бит назад

    ВТ Тестирование бита (загрузка в CF)

    ВТС Тестирование и изменения значения бита

    BTR Тестирование и сброс бита

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

    SALC Условная (по CF) установка А1 в FFh или OOh (не

    документировано, код D6h)

    SETA/ Установка байта в 01h, если выше ((CF ИЛИ ZF)=0), иначе в

    00h

    SETNBE

    SETAE/ Установка байта в 01 h, если не ниже (CF=0),

    иначе в 00h

    SETNB/

    SETNC

    SETB/ Установка байта в 01h, если ниже (CF=1), иначе

    в 00h

    SETNAE/

    SETC

    SETBE/ Установка байта в 01h, если не выше (CF ИЛИ ZF)=1, иначе в

    00h

    SETNA

    SETE/ Установка байта в 01h, если равно (ZF=1),

    иначе в 00h

    SETZ

    SETG/ Установка байта в 01 h, если больше (SF=(OP И ZF)), иначе

    в 00h

    SETNLE

    SETQE/ Установка байта в 01h, если больше или равно (SF=OF),

    иначе в 00h

    SETNL

    SETL/ Установка байта в 01h, если меньше (ZF[pic]OF),

    иначе в 00h

    SETNGE 00h

    SETLE/ Установка байта в 01h, если меньше или равно (SF[pic]0F или

    ZF=0),иначе в 00h

    SETNG

    SETNE/ Установка байта в 01h, если не равно (ZF=0), иначе в 00h

    SETNZ

    SETNO Установка байта в 01h, если нет переполнения (0F=0), иначе

    в 00h

    SETNS Установка байта в 01 h, если неотрицательно (SF=0), иначе

    в 00h

    SETO Установка байта в 01h, если переполнение (0F=1), иначе в

    00h

    SETPE/ Установка байта в 01h, если паритет (четность), иначе в

    00h

    SETP

    SETPO/ Установка байта в 01 h, если нет паритета (нечетность),

    иначе в 00h

    SETNP

    SETS Установка байта в 01 h, если отрицательно (SF=1), иначе в

    00h

    SETC Установка байта в 01 h, если перенос (CF=1),

    иначе в 00h

    SETNC Установка байта в 01 h, если нет переноса (CF=0), иначе в

    00h

    TEST Проверка бит (логическое И без записи результата —

    установка флагов)

    Строковые операции выполняются с операндами в памяти, адресуемыми

    регистрами DS:SI (DS:ESI) для источника и ES:DI (ES:EDI) для приемника.

    Операции могут использоваться с префиксами условного или безусловного

    повтора. После каждой пересылки или сравнения индексные регистры (SI, DI

    или оба) участвующих операндов автоматически инкрементируются или

    декрементируются на количество байт, участвующих в операции (1,2 или 4).

    Направление модификации определяется флагом DF: DF = 0 -инкремент, DF = 1 —

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

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

    процессора.

    Таблица. Инструкции строковых операций

    Инструкция Описание

    CMPSB, CMPSD, CMPSW Сравнение строк байт, слов или двойных слов с

    записью результата сравнения в регистр флагов

    INSB, INSD, INSW Запись байта, слова или двойного слова,

    введенного из порта, в память(286+)

    LODSB, LODSD, LODSW Копирование байта, слова или двойного слова из

    строки в AL/(E)AX

    MOVSB, MOVSD, MOVSW Копирование байта, слова или двойного слова из одной

    строки в другую

    OUTSB, OUTSD, OUTSW Вывод байта, считанного из памяти, в порт (286+)

    SCASB, SCASD, SCASW Сканирование строки байт, слов или двойных слов —

    сравнение с AL/(E)AX и запись результата сравнения в

    регистр флагов

    STOSB, STOSD, STOSW Запись байта, слова или двойного слова в строку из

    AL/(E)AX

    REP Префикс повтора строковых операций до обнуления

    (Е)СХ, (Е)СХ декрементируется на каждом повторе

    REPE/REPZ Префикс условного повтора строковых операций —

    выполнения REP при ZF=1

    REPNE/ Префикс условного повтора строковых операций —

    выполнения

    REPNZ REP при ZF=0

    Инструкции математического сопроцессора (FPU) имеют свою специфику

    задания операндов. Переменная st(0) находится на вершине стека

    сопроцессора, st(i) смещена от вершины на i. Загрузка данных начинается с

    декремента указателя стека сопроцессора (поле TOP) — перемещения вершины.

    Если новая вершина не пустая (по полю TAG) или стек исчерпан, вызывается

    исключение с указанием причины.

    После загрузки поле TAG устанавливается в соответствии с загруженным

    числом. При извлечении из стека производится инкремент ТОР, а в поле TAG

    старой вершины устанавливается признак пустой ячейки. Попытка использования

    пустого регистра в операциях или для сохранения результатов в памяти

    вызывает исключение. Инструкции с префиксом F предварительно проверяют флаг

    исключения ES (они называются ожидающими инструкциями), инструкции с

    префиксом FN флаг исключения не проверяют (неожидающие инструкции). Ряд

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

    числа (NaN).

    Таблица. Инструкции FPU

    Инструкция Описание

    Пересылки данных

    FBLD Преобразование и помещение (push) числа в упакованном BCD-

    формате из памяти в стек

    FBSTP Извлечение из стека и запись в память в упакованном BCD-

    формате (10 байт, 18 цифр)

    FCMOVB Пересылка, если ниже (CF=1) (P6+)

    FCMOVBE Пересылка, если не выше (CF ИЛИ ZF)=1 (P6+)

    FCMOVE Пересылка, если равно (ZF=1) (P6+)

    FCMOVNB Пересылка, если не ниже (CF=0) (P6+)

    FCMOVNBE Пересылка, если выше ((CF ИЛИ ZF)=0) (P6+)

    FCMOVNE Пересылка, если не равно (ZF=0) (P6+)

    FCMOVNU Пересылка, если не NaN (PF=0) (P6+)

    FCMOVU Пересылка, если NaN (unordered) (PF=0) (P6+)

    FILD Загрузка (push) целого числа из памяти

    FIST Запись в память в формате целого числа

    FISTP Запись в память в формате целого числа с извлечением

    FLD Загрузка (push) вещественного числа

    FST Сохранение (копирование) числа в памяти (в вещественном

    формате) или в регистре стека

    FSTP Запись числа в память (в вещественном формате) или в

    регистр стека с извлечением

    FXCH Обмен значениями вершины стека и регистра

    Загрузка констант

    FLD1 Загрузка (push)+1,0

    FLDL2E Загрузка (push) log2(e)

    FLDL2T Загрузка (push) log2( 10)

    FLDLG2 Загрузка (push) lg(2)

    FLDLN2 Загрузка (push) ln(2)

    FLDPI Загрузка (push) pi

    FLDZ Загрузка (push) + 0,0

    Базовая арифметика

    FABS Нахождение абсолютного значения

    FADD Сложение вещественных чисел

    FADDP Сложение вещественных чисел с извлечением

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

    FDIV Деление вещественных чисел

    FDIVP Деление вещественных чисел с извлечением

    FDIVR Обратное деление вещественных чисел

    FDIVRP Обратное деление вещественных чисел с извлечением

    FIADD Сложение с целым числом

    FIDIV Деление на целое число

    FIDIVR Обратное деление целых чисел

    FIMUL Умножение на целое число

    FISUB Вычитание целого числа

    FISUBR Вычитание из целого числа

    FMUL Умножение вещественных чисел

    FMULP Умножение вещественных чисел с извлечением

    FPREM Нахождение частичного остатка

    FPREM1 Нахождение частичного остатка в стандарте IEEE (387+)

    FRNDINT Округление до ближайшего целого

    FSCALE Масштабирование — умножение на округленную в сторону нуля

    степень числа 2

    FSQRT Извлечение квадратного корня

    FSUB Вычитание вещественного числа

    FSUBP Вычитание вещественных чисел с извлечением

    FSUBR Обратное вычитание числа

    FSUBRP Обратное вычитание с извлечением

    FXTRACT Выделение мантиссы и порядка числа

    Сравнение данных

    FCOM Сравнение вещественных чисел (установка флагов

    сопроцессора)

    FCOMI Сравнение и соответствующая установка флагов в EFLAGS (ZF, PF, CF)

    (P6+)

    FCOMIP Сравнение и соответствующая установка флагов в EFLAGS (ZF, PF,

    CF), с извлечением (P6+)

    FCOMP Сравнение вещественных чисел с извлечением

    FCOMPP Сравнение вещественных чисел с двойным извлечением

    FICOM Сравнение с целочисленным операндом из памяти

    FICOMP Сравнение с целочисленным операндом из памяти с

    извлечением

    FTST Проверка на нуль

    FUCOM Сравнение без генерации исключения в случае NaN (387+)

    FUCOMI Сравнение без генерации исключения в случае NaN и

    соответствующая установка флагов в EFLAGS (ZF, PF, CF)

    (P6+)

    FUCOMIP Сравнение без генерации исключения в случае NaN и

    соответствующая установка флагов в EFLAGS (ZF, PF, CF) с

    извлечением (P6+)

    FUCOMP Сравнение без генерации исключения в случае NaN с

    извлечением (387+)

    FUCOMPP Сравнение без генерации исключения в случае NaN с двойным

    извлечением (387+)

    FXAM Анализ числа — установка кода условия в СО, С2, СЗ

    Трансцендентные функции

    Р2ХМ1 Вычисление [pic]

    FCOS Косинус (387+)

    PPATAN Арктангенс частного с извлечением

    FPTAN Вычисление тангенса и загрузка (push) в стек +1,0

    FSIN Вычисление синуса (387+)

    FSINCOS Вычисление синуса и косинуса с помещением (push) в стек

    (387+)

    FYL2X Вычисление Yxlog2(X)

    FYL2XP1 Вычисление Yxlog2(X+1)

    Управление сопроцессором

    FCLEX Сброс флагов исключений с предварительной проверкой

    ожидающих немаскированных исключений

    FDECSTP Декремент указателя стека FPU

    FFREE Освобождение регистра — пометка как свободного

    FINCSTP Инкремент указателя стека FPU

    FINIT Инициализация FPU с предварительной проверкой ожидающих

    исключений

    FLDCW Загрузка управляющего слова (FPU CW) из памяти

    FLDENV Загрузка состояния сопроцессора из памяти, сохраненного

    инструкциями FSTENV/FNSTENV

    FNCLEX Сброс флагов исключений без проверки ожидающих

    FNINIT Инициализация FPU без проверки ожидающих исключений

    FNOP Пустая операция FPU

    FNSAVE Сохранение состояния сопроцессора и стека регистров в

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

    FNSTCW Сохранение управляющего слова без проверки ожидающих

    исключений

    FNSTENV Сохранение состояния сопроцессора (SR, CR, TAGW, FIP и

    FDP) в памяти без проверки ожидающих исключений

    FNSTSW Запись слова состояния без проверки ожидающих исключений

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

    FSAVE Сохранение состояния сопроцессора и стека регистров в

    памяти с предварительной проверкой ожидающих исключений

    FSTCW Сохранение управляющего слова с предварительной проверкой

    ожидающих исключений

    FSTENV Сохранение состояния сопроцессора (SR, CR, TAGW, FIP и

    FDP) в памяти с предварительной проверкой ожидающих

    исключений

    FSTSW Запись слова состояния для последующего переноса кода

    завершения в регистр флагов с предварительной проверкой

    ожидающих исключений

    WAIT/FWAIT Синхронизация — останов CPU до завершения текущей операции

    FPU, проверка ожидающих исключений FPU

    Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.