Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Использование ассемблера для оптимизации программ на С++ - Магда Ю.С.

Магда Ю.С. Использование ассемблера для оптимизации программ на С++ — БХВ-Петербург , 2004. — 496 c.
ISBN 5-94157-414-2
Скачать (прямая ссылка): ispolzovaniyaassemblera2004.djvu
Предыдущая << 1 .. 119 120 121 122 123 124 < 125 > 126 .. 127 >> Следующая

Приложение 1
Инструкции процессоров 80x86
Это приложение является справочником по системе команд семейства процессоров Intel. В справочник включены команды, используемые процессорами 80386 и более поздними. Для описания форматов команд используется ряд аббревиатур, представленных в табл. П 1.1. Сами команды описаны в табл. П1.2.
Таблица П1.1. Аббревиатуры для описания команд
Обозначение Краткое описание
reg Один из 8-, 16- или 32<разрядных регистров из списка: АН, AL, ВН, BL, СН, CL, АХ, ВХ, CX, DX, SI, Dl, BP, SP, ЕАХ, ЕВХ, ЕСХ, EDX, ESI, EDI, EBP, ESP
reg8, regl6, reg32 Регистр общего назначения, определяемый количеством
битов
acc AL, АХ ИЛИ ЕАХ
mem Операнд в памяти
mem8, memi6, mem32 Операнд в памяти, определяемый количеством битов
immed Непосредственный операнд
immed8, immedl6, Непосредственный операнд с определенным количеством
immed32 битов
label Метка
Таблица П1.2. Система команд
Код операции i Операнды i Функция
ааа 1 j ASCII-коррекция после сложения
aad .. j j ASCII-коррекция перед делением
aam j ! ASCII-коррекция после умножения
aas
ASCII-коррекция после вычитания
482
Приложения
Таблица П1.2 (продолжение)
Код операции Операнды Функция
adc reg, reg mem, reg reg, mem reg, immed mem, immed acc, immed Сложение с переносом
add reg, reg mem,-reg reg, mem reg, immed mem, immed acc, immed Сложение
and reg, reg mem, reg reg, mem reg, immed mem, immed acc, immed Логическое ”И"
bsf, bsr regl6, regl6 reg 16, meml6 reg32,reg32 reg32, mem32 Сканирование битов
bt, btc, btr, bts regl6, immed8 regl6, regl6 meml6, immed8 meml6, reg 16 Проверка битов
call label reg meml6 mem32 Вызов процедуры
Приложение 1. Инструкции процессоров 80x86
483
Таблица П1.2 (продолжение)
Код операции i Операнды i Функция
cbw i Преобразование байта в слово
cdq j j Преобразование двойного слова в учетверенное
clc ! Сброс флага переноса
cld I ] Сброс флага направления
cli I ] Сброс флага прерывания
cmc j ; Инвертирование флага переноса
cmp I I Сравнение операндов
cmps, cmpsb, cmpsw, cmpsd i mem, mem j Сравнение строк
cwd ; Преобразование слова в двойное слово
daa | Десятичная коррекция после сложения
das | Десятичная коррекция после вычитания
dec ! reg ! mem | Декремент
div i reg ! mem j Деление без знака
idiv j reg j mem | Деление целых чисел со знаком
imul ! reg j mem ! Умножение целых чисел со знаком
in I acc, immed | Ввод из порта
inc i reg ! mem t j Инкремент
int | Генерирование программного прерывания
iret ] Возврат из прерывания
jCONDITION I label i Переход, если выполнено условие j CONDITION
jmp j label j Безусловный переход
lahf j Загрузка флагов в АН
Ids, letfTifs, lgs, lss ; Загрузка дальнего указателя
484
Приложения
Таблица П1.2 (продолжение)
Код операции j Операнды Функция
lea j reg, mem Загрузка текущего адреса
lods, lodsb, lodsw, lodsd I mem Загрузка строки в аккумулятор
loop j label Цикл: декремент регистра сх и переход на метку, если сх больше 0
loope, loopz ! label Цикл, если равно 0: декремент регистра сх и переход на метку, если сх больше 0 и флаг нуля установлен
loopne, loopz ! label Цикл, если не равно 0: декремент регистра сх и переход на метку, если сх больше 0 и флаг нуля сброшен
mov I reg, reg ! mem, reg ! reg, mem j reg, immed j mem, immed Пересылка операндов
movs, movsb, movsw, movsd j mem, mem Пересылка строк
mul I reg j mem Умножение целых чисел без знака
neg i reg I mem Изменение знака операнда
nop I Отсутствие операции: не производит никаких действий, используется для задержек во временных циклах
not I reg i mem Логическая функция "НЕ", инвертирует каждый бит операнда
or ; reg, reg j mem, reg ! reg, mem j reg, immed ! mem, immed ; acc, immed Логическое "ИЛИ"
Приложение 1. Инструкции процессоров 80x86
485
Таблица П1.2 (продолжение)
Код операции Операнды Функция
out immed, acc DX, acc Вывод в порт
pop regl6 reg32 meml6 mem32 Извлечение операнда из стека
рора, popad Извлечение из стека всех регистров общего назначения (рора — 16-разрядных, popad — 32-раз рядных)
popf, popfd Извлечение флагов из стека
push regl6 reg32 meml6 mem32 Помещение операнда в стек
pusha, pushad Помещение в стек всех регистров
pushf, pushfd Помещение регистра флагов в стек
rcl reg, immed8 reg, CL mem, immed8 mem, CL Циклический сдвиг операнда влево через флаг переноса
rcr reg, immed8 reg, CL mem, immed 8 mem, CL Циклический сдвиг операнда вправо через флаг переноса
rep Повторение команды строковых примитивов, используя регистр сх как счетчик
repCONDITION Повторение команды строковых примитивов по условию
ret Возврат из процедуры
retn immed8 Возврат из процедуры с восстановлением стека. Непосредственный операнд определяет значение, которое должно быть добавлено к регистру-указателю стека
486
Приложения
Таблица П1.2 (продолжение)
Код операции Операнды Функция
rol reg, immed8 reg, CL mem, immed8 mem, CL Циклический сдвиг влево
ГОГ reg, immed8 reg, CL mem, immed8 mem, CL Циклический сдвиг вправо
sahf Загрузка регистра флагов из регистра АН
Предыдущая << 1 .. 119 120 121 122 123 124 < 125 > 126 .. 127 >> Следующая