- •Архитектура эвм
- •Введение
- •Структура мпс
- •Основные понятия в архитектуре мпс
- •Архитектура фон Неймана
- •Гарвардская архитектура
- •Параллельная архитектура
- •Конвейерная архитектура
- •Суперскалярная архитектура
- •АрхитектурыCisc
- •Архитектуры risc
- •Архитектуры misc
- •Ассемблеры
- •Программа Ассемблер
- •Язык Ассемблер
- •Основы 32-битного программирования в Windows
- •Api функции
- •Сообщения Windows
- •Версии ассемблеров
- •Среды разработки
- •Представление данных в эвм
- •Системы счисления и преобразования между ними
- •Форматы представления чисел
- •Форматы представления двоичных чисел
- •Формат с плавающей точкой
- •Типы адресаций операндов
- •Интерфейсы
- •Последовательный интерфейс rs-232c
- •Интерфейс параллельного порта
- •Инфракрасный интерфейс
- •Интерфейс Bluetooth
- •Интерфейс usb
- •Интерфейс ieee 1394 - FireWire
- •Сопроцессоры
- •Система прерываний и исключений
- •Интерфейс jtag
- •Символы и строки
- •Архитектура cisc от Intel
- •Введение
- •Микроархитектура Intel
- •Микроархитектура р6
- •Микроархитектура NetBurst
- •Микроархитектура Pentium 4
- •Микроархитектура Intel Pentium Mobile
- •Микроархитектура Intel Core
- •Микроархитектура Intel Core Duo
- •Микроархитектура Intel Nehalem
- •Адресация памяти в ia_32
- •Наборырегистров
- •Целочисленныйпроцессор
- •Регистры общего назначения (рон)
- •Регистры флагов eflags
- •Регистр указателя команд
- •Сегментные регистры
- •Управляющие регистры
- •Системные адресные регистры
- •Прямой и обратный порядок следования байтов
- •Виды адресации операндов в памяти
- •Цикл выполнения команды
- •Распределение адресного простраства
- •Образ программы в памяти.
- •Математический сопроцессор
- •Xmm технология
- •Система команд
- •Формат команды
- •Классификация команд
- •Целочисленный процессор
- •Команды общего назначения
- •Команды ввода-вывода
- •Инструкции работы со стеком
- •Арифметико-логические инструкции
- •Цепочечные операции
- •Команды управления
- •Команды поддержки языков высокого уровня
- •Команды прерываний
- •Команды синхронизации процессора
- •Команды обработки цепочки бит
- •Команды управления защитой
- •Команды обмена с управляющими регистрами
- •Команды идентификации и управления архитектурой
- •Управление кэшированием
- •Команды управления кэшированием
- •Сопроцессор с плавающей точкой
- •Классификация команд
- •Команды управления сопроцессором
- •Команды передачи данных
- •Команды сравнения данных
- •Арифметические команды
- •Трансцендентные функции
- •Целочисленное mmx расширение
- •Синтаксис ммх-команд
- •Классификация команд
- •Инициализация
- •Передача данных
- •Упаковка данных
- •Распаковка данных
- •Арифметика
- •Сравнения
- •Дополнительные команды
- •XmMрасширение с плавающей точкой
- •Типы данных
- •Передача данных
- •Арифметика
- •Сравнения
- •Преобразования
- •Управление состоянием
- •Распаковка данных
- •Управление кэшированием
- •Дополнительные команды
- •Цикл трансляции, компоновки и выполнения
- •Ассемблер cisc
- •Введение
- •Средства программирования и отладки
- •Описание masm
- •Структура программы на ассемблере
- •Типы данных
- •Макросредства
- •Директивы
- •Архитектура risc
- •Система команд
- •Архитектура misc
- •Архитектура vliw
- •Архитектура вычислительных систем со сверхдлинными командами
- •Архитектура ia-64
- •Многоядерные архитектуры
- •Микроконтроллер avr от Atmel
- •Архитектура avr от Atmel
- •Ассемблер
- •Команды ассемблера
- •Директивы ассемблера
- •Выражения
- •Микроконтроллеры c28x
- •Архитектура c28x
- •Архитектура f28x
- •Инструментальные средства разработки по
- •Ассемблер
- •Команды ассемблера
- •Формат объектного файла
- •Директивы ассемблера
- •Макроязык и макрокоманды
- •Компоновщик
- •Архиватор
- •Абсолютный листер
- •Листер перекрестных ссылок
- •Утилита 16-ричного преобразования
- •Архитектура VelociTi
- •Структура и состав цсп с6x
- •Средства разработки цсп с6x
- •Ассемблер цсп с6x
- •Команды ассемблера
- •Выражения
- •Листинги
- •Листинги программ
- •Директивы ассемблера
- •Макроязык и макрокоманды
- •Компоновщик
- •Утилиты
- •Поддержка в matlab
- •Введение
- •Встроенные платы для цсп ‘c6x
Команды сравнения данных
Эти команды выполняют сравнение содержимого вершины стека с указанным в команде операндом.
Вещественные числа
Команда |
Описание |
FCOM |
Floating-point COMpare Сравнение вещественных чисел ST(0) и ST(1). Флаги устанавливаются, как при операции ST(0)-ST(1). |
FCOM источник |
Floating-point COMpare Сравнение ST(0) с операндом в памяти. Операнд может быть 32- или 64-битным. |
FCOMP источник |
Floating-point COMpare and Pop Сравнение вещественного числа в ST(0) с операндом с выталкиванием ST(0) из стека. Операнд может быть регистром и областью памяти. |
FCOMPP источник |
Floating-point COMpare and Pop fnd Pop Сравнение вещественного числа в ST(0) с операндом с двойным выталкиванием ST(0) и ST(1) из стека. Операнд может быть регистром и областью памяти. |
FUCOMP ST(i) |
Floating-point Unorder COMpare and Pop Сравнение ST(0) с ST(i) без учета порядков. При выполнении операции происходит выталкивание из стека. |
FUCOMPP ST(i) |
Floating-point Unorder COMpare and Pop and Pop Сравнение ST(0) с ST(i) без учета порядков. При выполнении операции происходит двойное выталкивание из стека. |
Целые числа
Команда |
Описание |
FICOM источник |
Floating-point Integer COMpare Сравнение целых чисел в ST(0) с операндом. Операнд может быть 16- или 32-битным. |
FICOMP источник |
Floating-point Integer COMpare and Pop Сравнение целых чисел в ST(0) с операндом. Операнд может быть 16- или 32-битной областью памяти или регистром. При выполнении операции происходит выталкивание ST(0) из стека. |
Анализ
Команда |
Описание |
FTST |
Floating-point TeST zero Проверка ST(0) на нуль. |
FXAM |
Floating-point eXAMine Анализ содержимого вершины стека. Результат помещается в биты С3-С0 регистра CWR:
|
Арифметические команды
В группу арифметических команд входят команды, реализующие операции сложения, вычитания, умножения и деления. Арифметические команды можно разделить на две подгруппы:
для работы с целочисленными операндами.
для работы с вещественными операндами.
Команды для работы с вещественными операндами
Команда |
Описание |
FADD источник FADD ST(i),ST(0) |
Floating-point ADDition Сложение.
|
FADDP ST(i),ST(0) |
Floating-point ADDition and Pop Сложение. ST(i) = ST(i) + ST(0). Выталкивание из стека ST(0). |
FSUB источник FSUB ST(i),ST(0) |
Floating-point SUBtraction Вычитание.
|
|
Floating-point SUBtraction Вычитание. ST(i) = ST(i) - ST(0). |
FSUBP ST(i),ST(0) |
Floating-point SUBtraction and Pop Вычитание. ST(i) = ST(i) - ST(0). Выталкивание из стека ST(0). |
FSUBR ST(i),ST(0) |
Floating-point SUBtracttion Revers Обратноевычитание. ST(0) = ST(i) - ST(0) |
FSUBRP ST(i),ST(0) |
Floating-point SUBtracttion Revers and Pop ОбратноевычитаниеST(0). ST(0) = ST(i) - ST(0). Выталкивание из стека ST(0). |
FMUL FMUL ST(i) FMUL ST(i),ST |
Floating-point MULtiplay with real value Умножение:
|
FMULP ST(i),ST(0) |
Floating-point MULtiplay and Pop Умножение. ST(i) = ST(i) * ST(0) |
FDIV FDIV ST(i) FDIV ST(i),SY |
Floating-point DIVide Делениедвухвещественныхчисел.:
|
FDIVP ST(i),ST(0) |
Floating-point DIVide and Pop Деление. ST(i)<-ST(0)/ST(i). ВыталкиваниеизстекаST(0). |
FDIVR ST(i),ST(0) |
Floating-point DIVide Revers Обратноеделение. ST(0)= ST(i)/ST(0) |
FDIVRP ST(i),ST(0) |
Floating-point DIVide Revers and Pop Обратное деление ST(0) = ST(i) / ST(0) Выталкивание из стека ST(0). |
Команды для работы с целочисленными операндами
Команда |
Описание |
FIADD источник |
Floating-point Integer ADDition Сложение. ST(0) = ST(0) + источник (16- или 32-битное число). |
FISUB источник |
Floating-point Integer SUBtracttion Вычитание. ST(0) = ST(0) - источник (16- или 32-битное число). |
FISUBR источник |
Floating-point Integer SUBtracttion Revers Вычитание.ST(0) = источник (16- или 32-битное число) -.ST(0) |
FIMUL источник |
Floating-point Integer MULtiply Умножение. ST(0) = ST(0) * источник (16- или 32-битное число). |
FIDIV источник |
Floating-point Integer DIVide Деление. ST(0) = ST(0) / источник (16- или 32-битное число). |
FIDIVR источник |
Floating-point Integer DIVide Revers Обратное деление целых чисел. ST(0) = источник/ ST(0). |
Вспомогательные команды
Команда |
Описание |
FABS |
Floating-point ABSolute value Нахождение абсолютного значения. ST(0) = ABS(ST(0)). |
FCHS |
Floating-point CHange Sign Изменение знака ST(0) = -ST(0). |
FSQRT |
Floating-point calculation of SQuare Root Извлечь квадратный корень из ST(0) и поместить обратно. Исходный операнд предварительно должен быть занесен в стек ST(0) = X. |
FSCALE |
Floating-point SCALE. Масштабирование. Умножение X на 2 в степени Y. Исходные операнды предварительно должны быть занесены в стек ST(0) = X, ST(1) = Y. ST(0) = ST(0) * 2^ST(1). |
FPREM |
Floating-point Partial REMinder Нахождение частичного остатка от деления ST(0) на ST(1). |
FPREM1 |
Floating-point Partial REMinder IEEE-754 Нахождение частичного остатка от деления ST(0) на ST(1) (в стандарте IEEE). |
FRNDINT |
Floating-point RouND INTeger Округление до ближайшего целого числа, находящегося в ST(0). ST(0) = int(ST(0)). |