Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Cmp ах,bх ; сравнить ах и bх

Поиск

cmovl ax,bx; если ах < bх, скопировать bх в ах

Слова «выше» и «ниже» в таблице 1 относятся к сравнению чисел без знака, слова «больше» и «меньше» учитывают знак.

 

Таблица 4.1. Разновидности команды CMOVcc

Код команды Реальное условие Условие для CMP
CMOVA + CMOVNBE CF = 0 и ZF = 0 если выше; ax>bx если не ниже или равно; ax>bx or ax=bx
CMOVAE + CMOVNB CMOVNC CF = 0 если выше или равно; ax>bx or ax=bx если не ниже; ax>bx если нет переноса
CMOVB + CMOVNAE CMOVC CF = 1 если ниже; ax<bx если не выше или равно; ax<=bx если перенос;
CMOVBE + CMOVNA CF = 1 и ZF = 1 если ниже или равно; ax<=bx если не выше ax<bx
CMOVE + CMOVZ ZF = 1 если равно; ax=bx если ноль
CMOVG + CMOVNLE ZF = 0 и SF = OF если больше; ax>bx если не меньше или равно; ax>bx or ax=bx
CMOVGE + CMOVNL SF = OF если больше или равно; ax>bx or ax=bx если не меньше; ax>=bx
CMOVL + CMOVNGE SF <> OF если меньше; ax<bx если не больше или равно
CMOVLE + CMOVNG ZF = 1 и SF <> OF если меньше или равно; ax<bx or ax=bx если не больше
CMOVNE + CMOVNZ ZF = 0 если не равно; ax!=bx если не ноль
CMOVNO OF = 0 если нет переполнения
CMOVO OF = 1 если есть переполнение
CMOVNP CMOVPO PF = 0 если нет четности если нечетное
CMOVP CMOVPE PF = 1 если есть четность если четное
CMOVNS SF = 0 если нет знака
CMOVS SF = 1 если есть знак

 


Для обращения порядка байт в 32-битном регистре используется команда:

BSWAP <регистр 32>

 

Биты 0 – 15 меняются местами с битами 16–31. Например:

Mov eax,12345678h

Bswap eax; теперь в еах находится 78563412h

 

Чтобы обратить порядок байт в 16-битном регистре, следует использовать команду XCHG:

xchg al,ah; обратить порядок байт в АХ


Регистры архитектуры x86

Регистры архитектуры x86 (Intel 8086, 80186, 80286, 80386, 80486, Pentium'ы и аналоги этих процессоров от других фирм) представлены на рис. 3.1.

указатель базы
указатель стека
индекс приёмника
индекс источника
регистр данных
счётчик
база
аккумулятор
Указатель команд
Регистры- указатели

Рис. 3.1. Основные регистры процессоров.

 


Регистры сопроцессора

Сопроцессор (FPU) предназначен для выполнения операций над вещественными числами.

Восемь регистров данных разрядностью 80 бит организованы в стек. Минимальный размер значения, загружаемого в сопр, - 2 байта/

Регистры данных FPU ( Floating Point Unit - арифметический стек) могут быть представлены в следующем виде:

Физические номера 80 бит Относительные номера
1 бит 15 бит 64 бит
Знак Порядок Мантисса
      mm0 ST(0)
      mm1 ST(1)
      mm2 ST(2)
      mm3 ST(3)
      mm4 ST(4)
      mm5 ST(5)
      mm6 ST(6
      mm7 ST(7)
      Регистры MMX/3DNow!  

 


Расширение MMX (MultiMedia eXtension - мультимединое расширение)

MMX было первым расширением, реализующим технологию SIMD (Single Instruction - Multiple Data).

Расширение MMX использует новые типы упакованных 64-битные целочисленных данных:

- 8 упакованных байт (Packed byte);

- 4 упакованных слова (Packed word);

- 2 упакованных двойных слова (Packed double word);

- 1 учетверенное слово (Quad word);

 

Каждая инструкция MMX выполняет действие сразу над всем комплектом операндов (8, 4, 2 или 1), размещенных в адресуемых регистрах. Совпадение регистров MMX и FPU накладывает ограничение на чередование кодов FPU и MMX.

Можно поместить в MMX-регистр одну 8-байтовую целую переменную и использовать её различными командами, можно поместить две 4-байтные переменные или четыре 2-байтных, или восемь переменных по одному байту и производить над ними операции одновременно.

MMX-регистры используются в программах обработки звука и видео, в математических программах, в играх.

 


Расширение 3DNow!

Технология 3DNow!, разработанная AMD, расширяет возможности MMX и разрабатывалась для трёхмерных приложений. Она позволяет оперировать с новым типом данных - парой упакованных вещественных чисел одинарной точности.

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

Причём процессор выполнял 2 инструкции 3DNow! за такт, обрабатывая 4 числа с плавающей точкой одновременно

 

 

Технология SSE. Блок XMM

Начиная с Intel Pentium 3 микропроцессоры снабдили новой технологией SSE (Stream SIMD Extension, потоковое SIMD-расширение) для одновременной обработки чисел с плавающей точкой.



Поделиться:


Последнее изменение этой страницы: 2016-09-13; просмотров: 578; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.241.235 (0.005 с.)