Каталог книг

Программирование на ассемблере на платформе X86-64

Перейти в магазин

Сравнить цены

Описание

В данной книге речь идёт о работе процессора в двух его основных режимах: защищённом режиме и 64-битном, который также называют long mode ("длинный режим"). Также помимо изложения принципов и механизмов работы процессора в защищённом и 64-битном режимах, речь пойдёт о программировании на ассемблере в операционных системах семейства Windows, как в 32-битных, так и 64-битных версиях. Рассматривается не только разработка обычных приложений для операционных систем Windows, но и разработка драйверов на ассемблере. При написании книги уделялось большое внимание именно практической составляющей, т.е. изложение материала идёт только по делу и только то, что необходимо знать любому системному и низкоуровневому программисту. Последний раздел книги посвящён принципам работы многопроцессорных систем, а также работе с расширенным программируемым контроллером прерываний (APIC). На диске, прилагаемом к книге, находятся полные исходные коды примеров к книге, а также дополнительные программы и материалы. Издание предназначено для системных и низкоуровневых программистов, а также для студентов и преподавателей технических специальностей высших и средне-специальных учебных заведений.

Сравнить Цены

Предложения интернет-магазинов
Аблязов Р. Программирование на ассемблере на платформе х86-64 Аблязов Р. Программирование на ассемблере на платформе х86-64 900 р. chitai-gorod.ru В магазин >>
Руслан Аблязов Программирование на ассемблере на платформе x86-64 Руслан Аблязов Программирование на ассемблере на платформе x86-64 439 р. litres.ru В магазин >>
Руслан Аблязов Программирование на ассемблере на платформе x86-64 Руслан Аблязов Программирование на ассемблере на платформе x86-64 629 р. ozon.ru В магазин >>
В. Ю. Пирогов Операционные системы на базе набора команд x86–64 в контексте низкоуровневого программирования В. Ю. Пирогов Операционные системы на базе набора команд x86–64 в контексте низкоуровневого программирования 152 р. litres.ru В магазин >>
Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#. 4-е издание Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#. 4-е издание 1498 р. chitai-gorod.ru В магазин >>
Сергей Зубков Assembler. Для DOS, Windows и Unix Сергей Зубков Assembler. Для DOS, Windows и Unix 599 р. litres.ru В магазин >>
В. Секаев Основы программирования на Ассемблере В. Секаев Основы программирования на Ассемблере 130 р. litres.ru В магазин >>

Статьи, обзоры книги, новости

Аблязов «Программирование на ассемблере на платформе х86-64»

Программирование на ассемблере на платформе х86-64

Автор: Аблязов Руслан Зуфярович

В данной книге речь идёт о работе процессора в двух его основных режимах: защищённом режиме и 64-битном, который также называют long mode («длинный режим»). Также помимо изложения принципов и механизмов работы процессора в защищённом и 64 -битном режимах, речь пойдёт о программировании на ассемблере в операционных системах семейства Windows, как в 32-битных, так и 64-битных версиях. Рассматривается не только разработка обычных приложений для операционных систем Windows, но и разработка драйверов на ассемблере. При написании книги уделялось большое внимание именно практической составляющей, т.е. изложение материала идёт только по делу и только то, что необходимо знать любому системному и низкоуровневому программисту. Последний раздел книги посвящён принципам работы многопроцессорных систем, а также работе с расширенным программируемым контроллером прерываний (APIC).

Издание предназначено для системных и низкоуровневых программистов, а также для студентов и преподавателей технических специальностей высших и средне-специальных учебных заведений.

Если после директивы определения данных идёт вопросительный знак, то начальное значение этих данных будет не определено. Данные, помеченные вопросительным знаком, называются неинициализированными. Неинициализированные данные не включаются в исполняемый файл и будут доступны лишь после загрузки программы в память (разумеется, если это поддерживается форматом исполняемых файлов, в который будет компилироваться программа). Неинициализированные данные позволяют сократить размер исполняемого файла, т. к. в большинстве слу-чаев не важно какое начальное значение имеет переменная.

Изучаем ассемблер подробнее

В предыдущих двух разделах мы изучили основные команды ассемблера. В этом разделе мы изучим более сложные и не менее важные инструкции, и их будет

намного больше. Итак, приступим.

Введение в защищённый режим

В предыдущей главе мы изучили основы ассемблера. Теперь, получив необходимые базовые знания, мы можем спокойно приступить к изучению защищённого режима. В этой главе будут рассмотрены принципы и механизмы работы процес-сора в защищённом режиме. Конкретно в данном разделе пойдёт речь об общей характеристике защищённого режима. В конце раздела для закрепления полученных знаний мы напишем приложение, которое переводит процессор в защищённый режим.

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

После включения или аппаратного сброса (перезагрузки) процессор находится в режиме реальных адресов. Это и есть 16-битный режим работы процессора. В этом режиме используется 20-битная система адресации, с помощью которой можно адресовать только 1 Мб физической памяти. В режиме реальных адресов работает операционная система MS-DOS. Теперь забудем о режиме реальных адресов и сконцентрируемся на защищённом режиме, который даёт нам возможность использовать ресурсы компьютера (память, производительность, защита и др.) на полную мощность.

Программирование в Win64

В предыдущей главе мы говорили о 64-битном режиме процессора. В главе 3 речь шла о программировании на ассемблере в 32-битных операционных системах семейства Windows. Теперь, после изучения архитектуры работы процессора в 64-битном режиме, настало время изучить программирование в 64-битных системах Windows, или в Win64. Первые 64-битные версии Windows появились у систем Windows XP и Windows 2003 Server, причем почти одновременно, в 2005 году. Следующие версии операци-онных систем Windows (2008 Server, Vista и др.) были как 32-битными, так и 64-бит-ными. Вообще 64-битные версии есть только у систем с архитектурой WinNT (по понятным причинам у систем Win9x 64-битных версий нет).

Многопроцессорные системы Работа с APIC

Итак, мы изучили два основных режима процессора, научились переключать режимы процессора. Но прогресс не стоит на месте – сейчас почти каждый компьютер оснащён процессором с несколькими ядрами, а серверы и вовсе оснащены несколькими процессорами. В настоящей главе речь пойдёт о межпроцессорном взаимодействии.

Основой межпроцессорного взаимодействия является расширенный программируемый контроллер, или APIC (Advanced Programmable Interrupt Controller). Поэтому перед изучением межпроцессорного взаимодействия необхо-димо изучить работу с APIC.

Источник:

scanlibs.com

Книга Программирование на ассемблере на платформе x86-64 - Руслан Аблязов скачать бесплатно, читать онлайн

Программирование на ассемблере на платформе x86-64 О книге "Программирование на ассемблере на платформе x86-64"

В данной книге речь идёт о работе процессора в двух его основных режимах: защищённом режиме и 64-битном, который также называют long mode («длинный режим»). Также помимо изложения принципов и механизмов работы процессора в защищённом и 64-битном режимах, речь пойдёт о программировании на ассемблере в операционных системах семейства Windows, как в 32-битных, так и 64-битных версиях. Рассматривается не только разработка обычных приложений для операционных систем Windows, но и разработка драйверов на ассемблере. При написании книги уделялось большое внимание именно практической составляющей, т.е. изложение материала идёт только по делу и только то, что необходимо знать любому системному и низкоуровневому программисту. Последний раздел книги посвящён принципам работы многопроцессорных систем, а также работе с расширенным программируемым контроллером прерываний (APIC). Издание предназначено для системных и низкоуровневых программистов, а также для студентов и преподавателей технических специальностей высших и средне-специальных учебных заведений. (Диск прилагается только к печатному изданию.)

На нашем сайте вы можете скачать книгу "Программирование на ассемблере на платформе x86-64" Руслан Аблязов бесплатно и без регистрации в формате fb2, rtf, epub, pdf, txt, читать книгу онлайн или купить книгу в интернет-магазине.

Источник:

avidreaders.ru

Программирование на ассемблере, Техническая литература

Программирование на ассемблере

Ассемблер для платформы x86-64. Аблязов Руслан Зуфярович «Программирование на ассемблере на платформе x86-64» ДМК Пресс, 2011 год, ( 12,5 мб. djvu)

В книге «Программирование на ассемблере…» рассказывается о работе процессора в двух его основных режимах: защищенном режиме и 64-битном, который также называют long mode («длинный режим»). Изложены, как принципы и механизмы работы процессора в защищенном и 64-битном режимах, так и основы программирования на ассемблере в операционных системах семейства Windows, как в 32-битных, так и 64-битных версиях. Изучается не только создание обычных приложений для операционных систем Windows, но и процесс разработки драйверов на ассемблере.

Автор акцентировал основное внимание на самых основных практических вопросах разработки, что необходимо знать каждому системному администратору и программисту низко-уровневых программ. Заключительный раздел книги расскажет о принципах работы многопроцессорных систем, а также работе с расширенным программируемым контроллером прерываний (APIC). Издание предназначено для системных и низкоуровневых программистов, рекомендовано студентам и преподавателям технических специальностей высших и средне-специальных учебных заведений. Исходники присутствуют.

Используемый компилятор 9

1.1. Основные понятия 11

1.1.1. Что такое процессор 11

1.1.2. Небольшая предыстория 14

1.1.3. Процессоры х86-64 16

1.1.4. Регистры процессоров х86-64 18

1.1.6. Работа с внешними устройствами 21

1.2. Основы ассемблера 22

1.2.1. Немного о языке ассемблера 22

1.2.2. Регистр флагов 23

1.2.3. Команда MOV 24

1.2.4. Формат хранения данных в памяти 26

1.2.5. Команды SUB и ADD 27

1.2.6. Логические операции 27

1.2.8. Работа с флагами процессора 30

1.2.9. Работа со стеком 30

1.3. Метки, данные, переходы 31

1.3.3. Переходы 35

1.3.4. Безымянные метки 38

1.3.5. Работа с битами 39

1.4. Изучаем ассемблер подробнее 39

1.4.1. Работа с памятью и стеком 40

1.4.2. Работа с числами на ассемблере 41

1.4.3. Умножение и деление 44

1.4.4. Порты ввода-вывода 46

1.4.6. Обработка блоков данных 47

1.4.8. Структуры 52

1.4.9. Работа с MSR-регистрами 53

1.4.10. Команда CPUID 54

1.4.11. Команда UD 2 55

1.4.12. Включение файлов 55

Глава 2 . Защищённый режим 56

2.1. Введение в защищённый режим 56

2.1.1. Уровни привилегий 56

2.1.2. Сегменты в защищённом режиме 58

2.1.3. Глобальная дескрипторная таблица 61

2.1.4. Практика 63

2.2. Прерывания в защищённом режиме 71

2.2.2. Дескрипторы шлюзов 72

2.2.3. Исключения 74

2.2.4. Коды ошибок 76

2.2.5. Программные прерывания 77

2.2.6. Аппаратные прерывания 77

2.2.7. Обработчик прерывания 79

2.2.8. Практика 80

2.3. Механизм трансляции адресов 85

2.3.1. Что это такое 85

2.3.2. Обычный режим трансляции адресов 87

2.3.3. Режим расширенной физической трансляции адресов 91

2.3.4. Обработчик страничного нарушения 94

2.3.5. Флаг WP в регистре CR0 95

2.3.6. Практика 96

2.4. Многозадачность 102

2.4.1. Общие сведения 102

2.4.2. Сегмент задачи (TSS 103

2.4.3. Дескриптор TSS 105

2.4.4. Локальная дескрипторная таблица 105

2.4.5. Регистр задачи (TR 106

2.4.6. Управление задачами 106

2.4.7. Шлюз задачи 109

2.4.8. Уровень привилегий ввода-вывода 109

2.4.9. Карта разрешения ввода-вывода 110

2.4.10. Включение многозадачности 110

2.4.11. Практическая реализация 111

2.4.12. Резюме 118

2.5. Механизмы защиты 119

2.5.1. Поля и флаги, используемые для защиты на уровне сегментов и страниц 119

2.5.2. Проверка лимитов сегментов 120

2.5.3. Проверки типов 120

2.5.4. Уровни привилегий 122

2.5.5. Проверка уровня привилегий при доступе к сегментам данных 123

2.5.6. Проверка уровней привилегий при межсегментной передаче управления 124

2.5.7. Шлюзы вызова 125

2.5.8. Переключение стека 128

2.5.9. Использование инструкций SYSENTER и SYSEXIT 129

2.5.10. Практика 130

2.5.11. Резюме 133

Глава 3 . ПРОГРАММИРОВАНИЕ В WIN 32 134

3.1. Введение в Win32 134

3.1.1. Основные сведения 135

3.1.2. Память в Win32 135

3.1.3. Исполняемые компоненты Windows 136

3.1.4. Системные библиотеки и подсистемы 137

3.1.5. Модель вызова функций в Win32 138

3.1.6. Выполнение программ в Win32: общая картина 138

3.1.7. Практика 139

3.2. Программирование в третьем кольце 148

3.2.1. Общий обзор 148

3.2.2. Работа с объектами 149

3.2.3. Работа с файлами 149

3.2.4. Обработка ошибок API-функций 152

3.2.5. Консольные программы 152

3.2.6. GUI-программы 153

3.2.7. Динамически подключаемые библиотеки 156

3.2.8. Обработка исключений в программе 159

3.2.9. Практика 162

3.2.10. Резюме 171

3.3. Программирование в нулевом кольце 171

3.3.2. Общий обзор 173

3.3.3. Driver Development Kit (DDK 174

3.3.4. Контекст потока и уровни запросов прерываний 175

3.3.5. Пример простого драйвера 176

3.3.6. Строки в ядре Windows 179

3.3.7. Подсистема ввода-вывода 180

3.3.8. Практика 186

4.1. Введение в long mode 202

4.1.1. Общий обзор 202

4.1.2. Сегментация в long mode 204

4.1.3. Механизм трансляции страниц 205

4.1.4. Переход в long mode 205

4.1.5. Практика 206

4.2. Работа с памятью в long m od e 208

4.2.1. Общий обзор 209

4.2.2. Страницы размером 4 Кб 209

4.2.3. Страницы размером 2 Мб 211

4.2.4. Страницы размером 1 Гб 212

4.2.5. Регистр CR3 213

4.2.6. Проверки защиты 214

4.2.7. Практика 214

4.3. Прерывания в long m ode 221

4.3.1. Дескрипторы шлюзов 221

4.3.2. Таблица ЮТ 64-битный TSS и механизм 1ST 222

4.3.3. Вызов обработчика прерывания 223

4.3.4. Практика 224

4.4. Защита и многозадачность 230

4.4.1. Сегменты 231

4.4.2. Шлюзы вызова 231

4.4.3. Инструкции SYSCALL и SYS RET 232

4.4.4. Многозадачность 233

4.4.5. Практика 235

Глава 5 . ПРОГРАММИРОВАНИЕ В WIN 64 239

5.1. Введение в Win64 239

5.1.1. Преимущества и недостатки 239

5.1.2. Память в Win64 240

5.1.3. Модель вызова 240

5.1.4. Режим совместимости 242

5.1.5. Win64 API и системные библиотеки 242

5.1.6. Практика 243

5.2. Программирование в Win64 244

5.2.1. Изменения в типах данных 245

5.2.2. Выравнивание стека 245

5.2.3. GUI-приложения 246

5.2.4. Программирование драйверов 250

5.2.5. Отладка приложений в Win64 254

Глава 6 . МНОГОПРОЦЕССОРНЫЕ СИСТЕМЫ 255

6.1. Работа с APIC 255

6.1.1. Общий обзор 255

6.1.2. Включение APIC 256

6.1.3. Local APIC ID 257

6.1.4. Локальная векторная таблица 257

6.1.5. Local APIC Timer 259

6.1.6. Обработка прерываний 261

6.1.7. Работа с I/O APIC 263

6.1.8. Практика 266

6.2. Межпроцессорное взаимодействие 270

6.2.1. Общий обзор 270

6.2.2. Межпроцессорные прерывания 271

6.2.3. Синхронизация доступа к данным 273

6.2.4. Инициализация многопроцессорной системы 275

6.2.5. Практика 276

Приложение А. MSR-регистры 281

А. 1. Регистр IA32_EFER 281

А.2. Регистры, используемые командами SYSENTER/SYSEXIT 281

А.З. Регистры, используемые командами SYSCALL/SYSRET 282

А.4. Регистры APIC 282

А.5. Регистры для управления сегментами в long mode 283

А.6. Вспомогательные регистры 283

Приложение Б. Системные регистры 283

Б.1. Регистр CR0 283

Б.2. Регистры CR2 и CR3 285

Б.З. Регистр CR4 286

Б.4. Регистры GDTR и IDTR 287

Б.5. Регистры LDTR и TR 288

Б.6. Регистр флагов 288

Б.7. Регистр CR8 290

Приложение В. Системные команды 290

В.1. Работа с системными регистрами 290

В.2. Системные команды 293

В.З. Работа с кэшем процессора 295

В.4. Дополнительные команды 295

Алфавитный указатель 297

Источник:

www.htbook.ru

Программирование на ассемблере на платформе x86-64 - Assembler - Форум программистов

Программирование на ассемблере на платформе x86-64
  • Отрывок из введения книги

    А теперь расскажем вкратце, о чём идёт речь в данной книге. О программировании на языке ассемблер написано немало книг, и придумать что-то новое, что было бы интересно читателю, – не самая лёгкая задача. При написании книги была поставлена цель: изложить тот материал, который либо трудно, либо попросту невозможно найти в русскоязычной технической литературе о языке ассемблер и работе процессора вообще.

    В данной книге описывается работа процессора в двух его основных режимах: защищённом и 64-разрядном (который также называют long mode, или «длинный режим»). Книга посвящена программированию на ассемблере в этих режимах, включая программирование под операционными системами Windows, т. к. системы Windows работают в защищённом и 64-разрядном режимах.

    Большинство книг об ассемблере рассказывают о режиме реальных адресов, а также о наборе команд ассемблера, который использовался в 1990-95 гг. С учётом того что подавляющее большинство современных операционных систем (Windows и UNIX) работают в защищённом и 64-разрядном режимах, большинство книг об ассемблере без преувеличения можно назвать устаревшими, поскольку они рассказывают о том режиме процессора, который уже почти не используется. Иногда даже удивляешься, что в высших учебных заведениях на занятиях, посвящённых архитектуре ЭВМ, изучают работу процессора в том режиме, который 20 лет как устарел, и при этом ничего не говорят про режим, в котором работают современные операционные системы. Данная книга поможет не только узнать, как работает процессор, но и изучить основные принципы разработки операционных систем.

    После изложения принципов и механизмов работы процессора в защищённом и 64-битном режимах речь пойдёт о программировании на ассемблере в самых распространённых операционных системах, работающих в этих двух режимах, а именно системах семейства Windows – как в 32-битных, так и в 64-битных версиях. Будут рассмотрены не только создание обычных приложений для операционных систем Windows, но и разработка драйверов.

    Последняя глава книги освещает принципы работы многопроцессорных систем, а также работу с расширенным программируемым контроллером прерываний.

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

    Книга построена так, чтобы приведённый в ней материал мог усвоить каждый интересующийся. Поэтому первая глава посвящена основам языка ассемблер – после её прочтения даже тот, кто никогда не сталкивался с ассемблером, получит хоть и не большой, но всё-таки фундамент для изучения следующих глав книги.

    В каждом разделе (за исключением первой главы) есть как минимум один практический пример для закрепления изученного материала. Полный исходный код всех примеров книги можно найти на компакт-диске, прилагающемся к книге.

    Обсуждение книги все коментарии не касающиеся ассемблера писать в той теме.

    Спасибо за книгу. Если интересно, вот обнаруженные неточности и опечатки, вдруг соберешься делать второе издание

    стр 25 "Разумеется в защищенном режиме вместе с командой MOC" имеется в виду команда MOV

    стр 29 "SAL - арифметический сдвиг влево. Команда полностью идентична команде SHL. Это одна и та же команда, только имена разные" код команды SAL -- D0Ex код команды SHL -- D0Fx просто некоторые трансляторы (MASM, TASM, FASM) по команде «SAL» генерируют код команды SHL, но это разные команды

    стр 30. Работа с флагами процессора пропущена команда CMC (0F5h)

    Работа со стеком "Операнд может иметь размер 2, 4, 8 байт в зависимости от режима; также он может быть сегментным регистром" следовало сказать о том, что команды POP CS в отличие от команд POP DS/ES/SS/FS/GS нет в природе и изменить текущий CS в программе можно только командами JMP FAR, RETF, IRET

    стр 37-38 таблица 1.5 команды условных переходов сказано, что "JE то же, что и JZ" но тоже самое можно было написать про JC=JNAE=JB и т.п.

    стр 38 "Иногда имеет смысл использовать команду TEST. Формат этой команды почти такой же, как и у команды CMP, но только в качестве второго операнда не может выступать значение памяти. Эта команда осуществляет операцию логического И" Стоило наверное написать, что CMP осуществляет операцию вычитания

    стр 42 таблица 1.6. примеры сложения разных чисел и результаты

    колонку "интерпретация для беззнаковых чисел и результаты" стоило делать на примере шестнадцатеричных чисел, тогда результат всегда выглядит верно

    флаг OF=1 только тогда, когда интерпретация для знаковых чисел выглядит "неверно" и чтобы не запутаться во флагах "переполнения" и "переноса" предлагается более простая формула:

    S1 xor S2 xor SR xor CF = OF

    где S1 и S2 значение знакового разряда операндов 1 и 2, а SR значение знакового разряда результата

    стр 48 опечатка "OUTS/W/D" вместо "OUTSB/W/D"

    стр 187 опечатка "LoadDriver:

    invoke, 0, 0, SC_MANAGER_ALL_ACCESS" пропущена OpenSCManager

    Спасибо за книгу. Если интересно, вот обнаруженные неточности и опечатки, вдруг соберешься делать второе издание

    стр 29 "SAL - арифметический сдвиг влево. Команда полностью идентична команде SHL. Это одна и та же команда, только имена разные" код команды SAL -- D0Ex код команды SHL -- D0Fx просто некоторые трансляторы (MASM, TASM, FASM) по команде «SAL» генерируют код команды SHL, но это разные команды

    стр 30. Работа с флагами процессора пропущена команда CMC (0F5h)

    Работа со стеком "Операнд может иметь размер 2, 4, 8 байт в зависимости от режима; также он может быть сегментным регистром" следовало сказать о том, что команды POP CS в отличие от команд POP DS/ES/SS/FS/GS нет в природе и роль POP CS выполняют JMP FAR, RETF, IRET

    стр 37-38 таблица 1.5 команды условных переходов сказано, что "JE то же, что и JZ" но тоже самое можно было написать про JC=JNAE=JB и т.п.

    стр 38 "Иногда имеет смысл использовать команду TEST. Формат этой команды почти такой же, как и у команды CMP, но только в качестве второго операнда не может выступать значение памяти. Эта команда осуществляет операцию логического И" Стоило наверное написать, что CMP осуществляет операцию вычитания

    стр 42 таблица 1.6. примеры сложения разных чисел и результаты

    колонку "интерпретация для беззнаковых чисел и результаты" стоило делать на примере шестнадцатеричных чисел, тогда результат всегда выглядит верно

    FFh+1=(1)00h единичка в скобках соответствует CF=1

    флаг OF=1 только тогда, когда интерпретация для знаковых чисел выглядит "неверно" и чтобы не запутаться во флагах "переполнения" и "переноса" предлагается более простая формула S1 xor S2 xor SR xor CF = OF где S1 и S2 значение знакового разряда операндов 1 и 2, а SR значение знакового разряда результата

    хотя я книгу не читал, не знаю как там с основами.

    Программа делает то что написал программист, а не то что он хотел.

    Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

    Нашел в вашей книге ошибку, решил сообщить вам об этом, поиски привели меня на этот форум.

    В листинге lmstructures.asm (sample 4.3) присутствует макрос

    Правильно должно быть так:

    Данная книга мне показалась интересной!

    Годится ли она, в качестве первого путеводителя в программинг под Win32/64 ?

    Источник:

    www.programmersforum.ru

  • Издательство «ДМК-Пресс» - Программирование на ассемблере на платформе x86-64

    Программирование на ассемблере на платформе x86-64

    Дата выхода: март 2011 года

    Формат: 165 * 235 мм

    Обложка: Мягкая обложка

    Содержание книги совпадает с:

    В данной книге речь идёт о работе процессора в двух его основных режимах: защищённом режиме и 64-битном, который также называют long mode («длинный режим»). Также помимо изложения принципов и механизмов работы процессора в защищённом и 64-битном режимах, речь пойдёт о программировании на ассемблере в операционных системах семейства Windows, как в 32-битных, так и 64-битных версиях. Рассматривается не только разработка обычных приложений для операционных систем Windows, но и разработка драйверов на ассемблере. При написании книги уделялось большое внимание именно практической составляющей, т.е. изложение материала идёт только по делу и только то, что необходимо знать любому системному и низкоуровневому программисту. Последний раздел книги посвящён принципам работы многопроцессорных систем, а также работе с расширенным программируемым контроллером прерываний (APIC).

    На сайте издательства можно скачать полные исходные коды примеров к книге, а также дополнительные программы и материалы. Издание предназначено для системных и низкоуровневых программистов, а также для студентов и преподавателей технических специальностей высших и средне-специальных учебных заведений.

    16 марта 2017 в 09:02

    11 марта 2017 в 14:40

    "Команда PUSH присваивает памяти, на которую указывает ESP (SP, RSP), значение операнда и уменьшает значение этого регистра на 2, 4 или 8 в зависимости от режима."

    Источник:

    dmkpress.com

    Программирование на ассемблере на платформе X86-64 в городе Челябинск

    В данном каталоге вы можете найти Программирование на ассемблере на платформе X86-64 по доступной цене, сравнить цены, а также найти похожие книги в категории Компьютеры и интернет. Ознакомиться с свойствами, ценами и рецензиями товара. Доставка выполняется в любой город РФ, например: Челябинск, Кемерово, Набережные Челны.