Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Базовые механизмы программирования микропроцессоров в процессе миграции программ от архитектуры IA-32 к архитектуре Intel 64

Покупка
Новинка
Основная коллекция
Артикул: 847265.01.99
Доступ онлайн
от 324 ₽
В корзину
В учебнике описаны базовые механизмы программирования, использую-щиеся при миграции программного обеспечения от архитектуры IA-32 к архитектуре Intel 64. Написан на основе оригинальной технической документации фирмы Intel. Является начальной частью описания архитектур Intel 64 и IA-32. Рассматриваются базовая среда выполнения и все типы данных в этих архитектурах, особенности вызовов процедур, прерываний и исключений, а также особенности программирования как с инструкциями общего назначения, так и с инструкциями блока FPU x87, характерными для архитектур Intel 64 и IA-32. Для студентов и аспирантов, изучающих программирование и применение микропроцессоров фирмы Intel типа x86, а также миграцию программного обеспечения с 32 на 64 разряда.
20
65
106
112
147
149
194
194
Левицкий, Д. О. Базовые механизмы программирования микропроцессоров в процессе миграции программ от архитектуры IA-32 к архитектуре Intel 64 : учебник / Д.О. Левицкий. — Москва : ИНФРА-М, 2025. — 269 с. - ISBN 978-5-16-113310-1. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2186854 (дата обращения: 21.12.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
 
 
 
 
 
 
 
 
 
 
 
 
Д.О. ЛЕВИЦКИЙ 
 
 
БАЗОВЫЕ МЕХАНИЗМЫ 
ПРОГРАММИРОВАНИЯ МИКРОПРОЦЕССОРОВ 
В ПРОЦЕССЕ МИГРАЦИИ ПРОГРАММ ОТ 
АРХИТЕКТУРЫ IA-32 К АРХИТЕКТУРЕ INTEL 64 
 
 
УЧЕБНИК 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Москва 
ИНФРА-М 
2025 


Издание не подлежит 
ФЗ  
маркировке в соответствии 
№ 436-ФЗ 
 
УДК 004.42(075.8) 
ББК 32.973я73 
с п. 1 ч. 2 ст. 1 
Л37 
 
 
 
 
Левицкий Д.О. 
Л37        Базовые механизмы программирования микропроцессоров в процессе 
миграции программ от архитектуры IA-32 к архитектуре Intel 64 : учебник / 
Д.О. Левицкий. — Москва : ИНФРА-М, 2025. — 269 с. 
 
ISBN 978-5-16-113310-1 (online) 
 
В учебнике описаны базовые механизмы программирования, использующиеся при миграции программного обеспечения от архитектуры IA-32 
к архитектуре Intel 64. Написан на основе оригинальной технической 
документации фирмы Intel. Является начальной частью описания архитектур 
Intel 64 и IA-32. 
Рассматриваются базовая среда выполнения и все типы данных в этих 
архитектурах, особенности вызовов процедур, прерываний и исключений, 
а также особенности программирования как с инструкциями общего назначения, 
так и с инструкциями блока FPU x87, характерными для архитектур Intel 64 и IA-32. 
Для студентов и аспирантов, изучающих программирование и применение 
микропроцессоров фирмы Intel типа x86, а также миграцию программного 
обеспечения с 32 на 64 разряда. 
 
 
    УДК 004.42(075.8) 
    ББК 32.973я73 
 
 
 
 
 
 
 
 
 
 
 
ISBN 978-5-16-113310-1 (online)  
 
                          © Левицкий Д.О., 2025 


Оглавление 
Предисловие 
......................................................................................................................... 9 
Глава 1. Предварительные сведения, терминология и обозначения. ........................... 10 
1.1. Предварительные сведения ................................................................................... 10 
1.2. Условные обозначения 
........................................................................................... 11 
1.2.1. Выделения по тексту ....................................................................................... 11 
1.2.2. Порядок битов и байтов 
.................................................................................. 12 
1.2.3. Зарезервированные биты и совместимость программного обеспечения 
... 13 
1.2.4. Шестнадцатеричные и двоичные числа ........................................................ 13 
1.2.5. Сегментная адресация 
..................................................................................... 14 
1.2.6. Синтаксис для значений CPUID .................................................................... 14 
1.2.7. Исключения 
...................................................................................................... 15 
1.3. Пояснения встречающихся сокращений и терминов. 
......................................... 15 
1.4. Обзор пособия 
......................................................................................................... 18 
Глава 2. Базовая среда выполнения для INTEL 64 и IA-32 ........................................... 20 
2.1. Режимы работы 
....................................................................................................... 20 
2.1.1. Архитектура Intel® 64 
..................................................................................... 21 
2.2. Обзор базовой среды исполнения 
......................................................................... 22 
2.2.1. Среда выполнения в 64-битном режиме ....................................................... 28 
2.3. Организация памяти 
............................................................................................... 30 
2.3.1. Модели памяти IA-32 
...................................................................................... 31 
2.3.2. Пейджинг и виртуальная память.................................................................... 33 
2.3.3. Организация памяти в 64-битном режиме .................................................... 33 
2.3.4. Режимы работы и модель памяти .................................................................. 34 
2.3.5. 32-битные и 16-битные адреса и размеры операндов .................................. 35 
2.3.6. Расширенная физическая адресация в защищенном режиме...................... 35 
2.3.7. Расчет адреса в 64-битном режиме ................................................................ 36 
    2.3.7.1. Каноническая адресация 
.......................................................................... 37 
2.4. Основные регистры выполнения программ 
......................................................... 38 
2.4.1. Регистры общего назначения ......................................................................... 39 
    2.4.1.1. Регистры общего назначения в 64-битном режиме .............................. 41 
2.4.2. Сегментные регистры...................................................................................... 43 
    2.4.2.1. Сегментные регистры в 64-битном режиме 
........................................... 45 
2.4.3. Регистр EFLAGS 
.............................................................................................. 46 
    2.4.3.1. Флаги состояния ....................................................................................... 48 
    2.4.3.2. Флаг DF ..................................................................................................... 49 
    2.4.3.3. Системные флаги и поле IOPL 
................................................................ 50 
    2.4.3.4. Регистр RFLAGS в 64-битном режиме 
................................................... 51 
2.5. Указатель инструкции 
............................................................................................ 52 
2.5.1. Указатель инструкций в 64-битном режиме ................................................. 52 
2.6. Атрибуты размера операнда и размера адреса .................................................... 52 
2.6.1. Размер операнда и размер адреса в 64-битном режиме ............................... 54 
2.7. Адресация операнда ............................................................................................... 55 
2.7.1. Непосредственные операнды ......................................................................... 55 
3 
 


2.7.2. Регистровые операнды .................................................................................... 56 
    2.7.2.1. Регистровые операнды в 64-битном режиме ......................................... 57 
2.7.3. Операнды памяти............................................................................................. 57 
    2.7.3.1. Операнды памяти в 64-битном режиме 
.................................................. 58 
2.7.4. Указание селектора сегмента ......................................................................... 58 
    2.7.4.1. Сегментация в 64-битном режиме .......................................................... 60 
2.7.5. Спецификация смещения 
................................................................................ 60 
    2.7.5.1. Указание смещения в 64-битном режиме .............................................. 63 
2.7.6. Режимы адресации ассемблера и компилятора ............................................ 63 
2.7.7. Адресация портов ввода/вывода .................................................................... 63 
Вопросы для самопроверки .......................................................................................... 64 
Глава 3. Типы данных архитектур INTEL-64 и IA-32 ................................................... 65 
3.1. Основные типы данных ......................................................................................... 65 
3.1.1. Выравнивание слов, двойных слов, четверных слов и двойных четверных 
слов ............................................................................................................................. 66 
3.2. Типы числовых данных ......................................................................................... 67 
3.2.1. Целые числа ..................................................................................................... 67 
    3.2.1.1. Целые числа без знака 
.............................................................................. 69 
    3.2.1.2. Целые числа со знаком 
............................................................................. 69 
3.2.2. Типы данных с плавающей запятой .............................................................. 70 
3.3. Типы данных — указатели .................................................................................... 72 
3.3.1. Типы данных указатели в 64-битном режиме .............................................. 73 
3.4. Тип данных битовое поле ...................................................................................... 74 
3.5. Строковые типы данных ........................................................................................ 75 
3.6. Типы упакованных SIMD-данных ........................................................................ 75 
3.6.1. 64-битные упакованные типы данных SIMD 
................................................ 75 
3.6.2. 128-битные упакованные типы данных SIMD.............................................. 76 
3.7. Целые числа BCD и упакованные BCD ............................................................... 77 
3.8. Вещественные числа и форматы с плавающей запятой ..................................... 79 
3.8.1. Система действительных чисел ..................................................................... 79 
3.8.2. Формат с плавающей запятой ........................................................................ 80 
    3.8.2.1. Нормализованные числа .......................................................................... 82 
    3.8.2.2. Смещенный показатель степени ............................................................. 82 
3.8.3. Кодирование вещественных чисел и не-чисел ............................................. 82 
    3.8.3.1. Нули со знаком ......................................................................................... 84 
    3.8.3.2. Нормализованные и денормализованные конечные числа .................. 84 
    3.8.3.3. Бесконечности со знаком 
......................................................................... 86 
    3.8.3.4. NaN 
............................................................................................................. 86 
    3.8.3.5. Работа с SNaN и QNaN ............................................................................ 87 
    3.8.3.6. Использование SNaN и QNaN в приложениях ...................................... 89 
    3.8.3.7. Неопределенность QNaN с плавающей запятой ................................... 90 
    3.8.3.8. Операции с плавающей запятой половинной точности ....................... 91 
3.8.4. Округление 
....................................................................................................... 91 
    3.8.4.1. Поля управления округлением (RC) 
....................................................... 93 
    3.8.4.2. Усечение с инструкциями преобразования SSE и SSE2 
....................... 93 
3.9. Обзор исключений с плавающей запятой ............................................................ 93 
 
4 


3.9.1. Условия исключений операций с плавающей запятой ................................ 96 
    3.9.1.1. Исключение недопустимой операции (#I) ............................................. 96 
    3.9.1.2. Исключение денормализованного операнда (#D) ................................. 96 
    3.9.1.3. Исключение деления на ноль (#Z) .......................................................... 97 
    3.9.1.4. Исключение числового переполнения (#O) 
........................................... 98 
    3.9.1.5. Исключение числового антипереполнения (#U) ................................... 99 
    3.9.1.6. Исключение неточного результата (точности) (#P) ............................ 101 
3.9.2. Приоритет исключений с плавающей запятой ........................................... 102 
3.9.3. Типичные действия обработчика исключений с плавающей запятой ..... 103 
Вопросы для самопроверки ........................................................................................ 104 
Глава 4. Вызовы процедур, прерывания и исключения............................................... 106 
4.1. Типы вызова процедуры ...................................................................................... 106 
4.2. Стеки 
...................................................................................................................... 106 
4.2.1. Настройка стека ............................................................................................. 108 
4.2.2. Выравнивание стека ...................................................................................... 108 
4.2.3. Атрибуты размера адреса для доступа к стеку 
........................................... 109 
4.2.4. Информация связывания процедур ............................................................. 109 
    4.2.4.1. Базовый указатель кадра стека 
.............................................................. 110 
    4.2.4.2. Указатель инструкции возврата. ........................................................... 110 
4.2.5. Поведение стека в 64-битном режиме ......................................................... 111 
4.3. Теневые стеки ....................................................................................................... 111 
4.4. Вызов процедур с использованием инструкций CALL и RET ........................ 112 
4.4.1. Выполнение ближних CALL и RET ............................................................ 113 
4.4.2. Выполнение дальних CALL и RET 
.............................................................. 113 
4.4.3. Передача параметров .................................................................................... 116 
    4.4.3.1. Передача параметров через регистры общего назначения 
................. 116 
    4.4.3.2. Передача параметров в стеке 
................................................................. 116 
    4.4.3.3. Передача параметров в списке аргументов.......................................... 117 
4.4.4. Сохранение информации о состоянии процедуры 
..................................... 117 
4.4.5. Вызовы на другие уровни привилегий ........................................................ 118 
4.4.6. Выполнение CALL и RET между уровнями привилегий 
.......................... 119 
4.4.7. Функции переходов в 64-битном режиме ................................................... 123 
4.5. Прерывания и исключения .................................................................................. 125 
4.5.1. Операция вызова и возврата для процедур прерывания или обработки 
исключений .............................................................................................................. 127 
4.5.2. Вызовы задач обработки прерываний или исключений 
............................ 134 
4.5.3. Обработка прерываний и исключений в режиме реальной адресации .... 134 
4.5.4. Инструкции INT n, INTO, INT3, INT1 и BOUND ...................................... 135 
4.5.5. Обработка исключений с плавающей запятой ........................................... 136 
4.5.6. Поведение прерываний и исключений в 64-битном режиме .................... 137 
4.6. Вызовы процедур для языков с блочной структурой ....................................... 137 
4.6.1. Инструкция ENTER 
....................................................................................... 138 
4.6.2. Инструкция LEAVE ...................................................................................... 146 
Вопросы для самопроверки ........................................................................................ 146 
Глава 5. Программирование с инструкциями общего назначения ............................. 147 
5.1. Программная среда для GP инструкций............................................................. 147 
5 
 


5.2. Среда программирования GP инструкций в 64-битном режиме ..................... 148 
5.3. Резюме GP инструкций ........................................................................................ 149 
5.3.1. Инструкции передачи данных 
...................................................................... 150 
    5.3.1.1. Общие инструкции перемещения данных ........................................... 150 
    5.3.1.2. Инструкции обмена ................................................................................ 153 
    5.3.1.3. Инструкции обмена в 64-битном режиме ............................................ 155 
    5.3.1.4. Инструкции стекового манипулирования 
............................................ 155 
    5.3.1.5. Инструкции стекового манипулирования в 64-битном режиме ........ 157 
    5.3.1.6. Инструкции по преобразованию типов ................................................ 158 
    5.3.1.7. Инструкции преобразования типов в 64-битном режиме .................. 159 
5.3.2. Двоичные арифметические инструкции...................................................... 159 
    5.3.2.1. Инструкции сложения и вычитания ..................................................... 159 
    5.3.2.2. Инструкции инкремента и декремента 
................................................. 160 
    5.3.2.3. Инструкции инкремента и декремента в 64-битном режиме 
............. 160 
    5.3.2.4. Инструкции сравнения и изменения знака .......................................... 160 
    5.3.2.5. Инструкции умножения и деления ....................................................... 161 
5.3.3. Десятичные арифметические инструкции .................................................. 161 
    5.3.3.1. Инструкции корректировки упакованных BCD .................................. 162 
    5.3.3.2. Инструкции корректировки распакованных BCD .............................. 162 
5.3.4. Десятичные арифметические инструкции в 64-битном режиме .............. 164 
5.3.5. Логические инструкции ................................................................................ 164 
5.3.6. Инструкции сдвига и ротации 
...................................................................... 164 
    5.3.6.1. Инструкции сдвига ................................................................................. 164 
    5.3.6.2. Инструкции двойного сдвига ................................................................ 166 
    5.3.6.3. Инструкции ротации .............................................................................. 167 
5.3.7. Битовые и байтовые инструкции ................................................................. 169 
    5.3.7.1. Инструкции проверки и модификации битов 
...................................... 169 
    5.3.7.2. Инструкции сканирования битов 
.......................................................... 169 
    5.3.7.3. Инструкции установки байта по условию ........................................... 170 
    5.3.7.4. Инструкция тестирования 
...................................................................... 170 
5.3.8. Инструкции передачи управления 
............................................................... 170 
    5.3.8.1. Инструкции безусловной передачи ...................................................... 171 
    5.3.8.2. Инструкции условного перехода .......................................................... 173 
    5.3.8.3. Инструкции передачи управления в 64-битном режиме .................... 176 
    5.3.8.4. Инструкции программного прерывания .............................................. 177 
    5.3.8.5. Инструкции программного прерывания в 64-битном режиме и режиме 
совместимости ......................................................................................................... 178 
5.3.9. Строковые инструкции ................................................................................. 178 
    5.3.9.1. Строковые инструкции .......................................................................... 178 
    5.3.9.2. Повторяющиеся строковые операции .................................................. 180 
    5.3.9.3. Быстрая строковая операция ................................................................. 181 
    5.3.9.4. Строковые операции в 64-битном режиме 
........................................... 182 
5.3.10. Инструкции ввода/вывода .......................................................................... 183 
5.3.11. Инструкции ввода-вывода в 64-битном режиме ...................................... 183 
5.3.12. Инструкции ENTER и LEAVE ................................................................... 184 
5.3.13. Инструкции управления флагами (EFLAG).............................................. 184 
 
6 


    5.3.13.1. Инструкции флагов переноса и направления .................................... 184 
    5.3.13.2. Инструкции передачи EFLAGS .......................................................... 185 
    5.3.13.3. Инструкции флага прерывания ........................................................... 186 
5.3.14. Инструкции управления флагами (RFLAG) в 64-битном режиме ......... 186 
5.3.15. Сегментно-регистровые инструкции 
......................................................... 186 
    5.3.15.1. Инструкции загрузки и сохранения сегментных регистров 
............. 187 
    5.3.15.2. Инструкции дальней передачи управления ....................................... 187 
    5.3.15.3. Инструкции программного прерывания ............................................ 188 
    5.3.15.4. Инструкции загрузки дальнего указателя .......................................... 188 
5.3.16. Прочие инструкции ..................................................................................... 188 
    5.3.16.1. Инструкция вычисления адреса .......................................................... 188 
    5.3.16.2. Инструкции поиска в таблице ............................................................. 189 
    5.3.16.3. Инструкция идентификации процессора ........................................... 189 
    5.3.16.4. Инструкция NOP и неопределенная инструкция .............................. 189 
5.3.17. Инструкции генерации случайных чисел ................................................. 189 
    5.3.17.1. RDRAND ............................................................................................... 190 
    5.3.17.2. RDSEED 
................................................................................................. 191 
Вопросы для самопроверки ........................................................................................ 192 
Глава 6. Программирование с FPU x87 ......................................................................... 194 
6.1. Среда выполнения FPU x87 
................................................................................. 194 
6.1.1. FPU x87 в 64-битном режиме и режиме совместимости ........................... 195 
6.1.2. Регистры данных FPU x87 ............................................................................ 195 
    6.1.2.1. Передача параметров с помощью стека регистров FPU x87 
.............. 198 
6.1.3. Регистр состояния FPU x87 .......................................................................... 199 
    6.1.3.1. Указатель вершины стека (TOP) ........................................................... 200 
    6.1.3.2. Флаги кодов условий 
.............................................................................. 200 
    6.1.3.3. Флаг ошибки стека ................................................................................. 201 
6.1.4. Ветвление и условные перемещения по кодам условий ........................... 202 
6.1.5. Слово управления FPU x87 
........................................................................... 203 
    6.1.5.1. Биты маски исключения для вычислений с плавающей запятой 
FPU x87 .................................................................................................................... 204 
    6.1.5.2. Поле управления точностью 
.................................................................. 204 
    6.1.5.3. Поле управления округлением 
.............................................................. 205 
6.1.6. Флаг управления бесконечностью ............................................................... 205 
6.1.7. Слово тегов FPU x87 ..................................................................................... 206 
6.1.8. Указатели инструкций и данных (операндов) в FPU x87 
.......................... 207 
6.1.9. Код операции последней инструкции ......................................................... 210 
    6.1.9.1. Подрежим совместимости fopcode ....................................................... 210 
6.1.10. Сохранение состояния FPU x87 с помощью FSTENV/FNSTENV и 
FSAVE/FNSAVE 
...................................................................................................... 211 
6.1.11. Сохранение состояния FPU x87 с помощью FXSAVE ............................ 213 
6.2. Типы данных FPU x87 
.......................................................................................... 213 
6.2.1. Неопределенности ......................................................................................... 215 
6.2.2. Неподдерживаемые кодировки двойной расширенной точности с 
плавающей запятой и псевдоденормалы 
............................................................... 216 
6.3. Набор ИНСТРУКЦИЙ FPU x87 
.......................................................................... 218 
7 
 


6.3.1. Escape-инструкции (ESC) ............................................................................. 218 
6.3.2. Операнды инструкций FPU x87 ................................................................... 218 
6.3.3. Инструкции передачи данных 
...................................................................... 218 
6.3.4. Инструкции загрузки констант .................................................................... 221 
6.3.5. Основные арифметические инструкции 
...................................................... 221 
6.3.6. Инструкции сравнения и классификации ................................................... 223 
    6.3.6.1. Ветвление по кодам условия FPU x87 
.................................................. 226 
6.3.7. Тригонометрические инструкции ................................................................ 227 
6.3.8. Аппроксимация Пи 
........................................................................................ 228 
6.3.9. Логарифмы, возведение в степень и масштабирование ............................ 229 
6.3.10. Точность трансцендентных инструкций ................................................... 229 
6.3.11. Инструкции управления FPU x87 .............................................................. 232 
6.3.12. Инструкции с ожиданием и без ожидания 
................................................ 234 
6.3.13. Неподдерживаемые инструкции FPU x87 
................................................. 234 
6.4. Обработка исключений с плавающей запятой FPU x87 ................................... 235 
6.4.1. Арифметические и неарифметические инструкции 
................................... 236 
6.5. Условия исключений с плавающей запятой в FPU x87 
.................................... 237 
6.5.1. Исключение недопустимой операции ......................................................... 237 
    6.5.1.1. Исключение переполнения или антипереполнения стека (#IS) 
......... 238 
    6.5.1.2. Исключение недопустимого арифметического операнда (#IA) ........ 239 
6.5.2. Исключение денормализованного операнда (#D) ...................................... 241 
6.5.3. Исключение деления на ноль (#Z) ............................................................... 242 
6.5.4. Исключение числового переполнения (#O) 
................................................ 243 
6.5.5. Исключение числового антипереполнения (#U) ........................................ 244 
6.5.6. Исключение неточного результата (точность) (#P) ................................... 246 
6.6. Синхронизация исключений FPU x87 ................................................................ 248 
6.7. Обработка исключений FPU x87 в программном обеспечении 
....................... 250 
6.7.1. Основной режим ............................................................................................ 250 
6.7.2. Подрежим совместимости с MS-DOS* ....................................................... 251 
6.7.3. Обработка исключений FPU x87 в программном обеспечении 
................ 252 
Вопросы для самопроверки ........................................................................................ 253 
Список литературы 
.......................................................................................................... 255 
Приложение А. Префикс REX 
........................................................................................ 257 
A.1. Формат инструкций для архитектур Intel 64 и IA-32 
....................................... 257 
    A.2. Префиксы REX .................................................................................................... 259 
A.2.1. Кодирование 
.................................................................................................. 260 
A.2.2. Дополнительная информация о полях префикса REX 
.............................. 260 
A.2.3. Сдвиг 
.............................................................................................................. 264 
A.2.4. MOV с прямым смещением памяти 
............................................................ 264 
A.2.5. Непосредственные операнды ...................................................................... 264 
A.2.6. RIP-относительная адресация 
...................................................................... 265 
A.2.7. Размер 64-битного операнда по умолчанию .............................................. 266 
    A.3. Дополнительные кодировки регистров управления и отладки 
....................... 267 
    A.4. Другие префиксы, выполняющие ту же работу, что и префикс REX. ........... 267 
Приложение В. Коды состояний условных инструкций ............................................. 268 
 
8 


 
Предисловие 
Многие поколения универсальных микропроцессоры фирмы Intel типа x86 всегда 
широко использовались в нашей стране, а поскольку, с одной стороны, после февраля 2022 года производство прославленных отечественных процессоров «Эльбрус» и 
«Байкал» стало невозможным, а с другой стороны, в РФ все суперкомпьютеры делаются только на основе зарубежных процессоров, то изучение архитектур процессоров Intel x86 становится важнейшей прикладной задачей. 
9 
 


 
Глава 1. Предварительные сведения, терминология и 
обозначения. 
1.1. Предварительные сведения 
Это руководство составлено на основе сделанных автором переводов следующей 
оригинальной технической документации фирмы Intel: 
• The Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 1: Basic 
Architecture (order numbers 253665). 
• The Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volumes 2A, 
2B, 2C & 2D: Instruction Set Reference (order numbers 253666, 253667, 326018 and 
334569). 
• The Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volumes 3A, 
3B, 3C & 3D: System Programming Guide (order numbers 253668, 253669, 326019 
and 332831). 
• The Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 4: 
Model-Specific Registers (order number 335592). 
• The Intel® 64 and IA-32 Architectures Optimization Reference Manual (order number 
335308). 
 
В настоящее время доступ к этой оригинальной документации с территории РФ 
закрыт, поэтому пособие особенно полезно для студентов. 
Упомянутая документация содержит полное описание всех механизмов архитектур IA-32 и Intel 64, но данное руководство содержит только ту часть информации, 
которая относится к базовым механизмам программирования. Часть базовых механизмов публиковалась и ранее, но данное руководство содержит информацию, строго согласованную с последними версиями технической документации, относящуюся 
главным образом к самым последним процессорам Intel 64 и IA-32, включая: процессоры семейства P6; процессоры семейств Pentium®; процессоры семейств Intel® 
Xeon®, разнообразных серий; процессоры семейств Intel® Atom®, разнообразных 
серий; процессоры семейств Intel® Xeon®, разнообразных серий в том числе поко 
10 


Доступ онлайн
от 324 ₽
В корзину