Внимание!Штучные ЗАКАЗЫ на Школьную литературу НЕ принимаются и не обрабатываются. Извините за неудобства!

Архитектура вычислительных систем и Ассемблер с приложением методических указаний к лабораторным работам

Архитектура вычислительных систем и Ассемблер с приложением методических указаний к лабораторным работам
%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0+%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D1%85+%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC+%D0%B8+%D0%90%D1%81%D1%81%D0%B5%D0%BC%D0%B1%D0%BB%D0%B5%D1%80+%D1%81+%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC+%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85+%D1%83%D0%BA%D0%B0%D0%B7%D0%B0%D0%BD%D0%B8%D0%B9+%D0%BA+%D0%BB%D0%B0%D0%B1%D0%BE%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%BD%D1%8B%D0%BC+%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%BC - фото 1
440 грн
92511
ISBN
978-5-91359-321-4
Издательство
СОЛОН-Пресс
Год
2019
Страниц
368
Формат
60x88 1/16 (150x210 мм)
Обложка 
Мягкая
Тип бумаги 
Офсет
Язык
Русский
Иллюстрации
С иллюстрациями
2 человека
  • По ХарьковуДоставка курьером - 70 грн
    Бесплатно - от 2000 грн
  • По УкраинеБесплатно - от 2000 грн
    Новая Почта - от 40 грн
    Укрпочта - от 30 грн
  • Международная доставкаУкрпочта...
Подробнее о доставке

В пособии представлен систематизированный курс одной из основной дисциплин специализированной подготовки бакалавров по направлениям 09.03.04 «Программная инженерия» и 01.03.04 «Прикладная математика» с точки зрения прикладного программирования и парадигмы кроссплатформенности.

Рассмотрены основы архитектуры вычислительных систем как системной дисциплины. Представлен обзор архитектуры популярных процессоров семейства x86, в том числе шестидесятичетырёхбитных, представление основных типов данных в памяти компьютера, основные команды набора x86 и синтаксис AT&T. Обозначена проблематика прикладного кроссплатформенного программирования, объединяющего язык высокого уровня и язык Ассемблера.

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

Приложение А содержит методические указания к лабораторным работам.

Содержание

Введение.      3

Глава 1. Понятие вычислительной системы (ВС)           5

1.1. Терминология    5

1.2. Структурная декомпозиция вычислительной системы       6

1.2.1. Единицы измерения  10

1.2.2. Порядок следования байтов 11

1.2.3. Цикл выполнения команды  14

1.2.4. Расположение программ и данных 17

1.2.5. Память 19

1.2.6. Регистры         21

1.3. Иерархическая декомпозиция ВС      22

1.3.1. Цифровой логический уровень        22

1.3.2. Микроархитектурный уровень        23

1.3.3. Уровень архитектуры команд          24

1.3.4. Уровень операционной системы     25

1.3.5. Уровень ассемблера  26

1.3.6. Языки высокого уровня        27

1.4. История  29

1.4.1. Развитие вычислительной техники 29

1.4.2. Операционные системы        38

Контрольные вопросы         40

Глава 2. Представление данных     41

2.1. Качественные и количественные данные      41

2.2. История чисел   43

2.3. Позиционные системы счисления      46

2.3.1. Перевод натуральных чисел между позиционными системами счисления      47

2.3.2. Экономичность системы счисления           49

2.3.3. Нецифровые символы в представлении чисел      50

2.3.4. Позиционное представление вещественных чисел          51

2.4. Двоичное представление беззнаковых целых чисел           58

2.4.1. Восьмеричное и шестнадцатеричное представление       59

2.4.2. Беззнаковая арифметика в вычислительных системах    62

2.5. Представление отрицательных чисел            67

2.5.1. Величина со знаком  68

2.5.2. Код с избытком          71

2.5.3. Дополнительный код 72

2.5.4. Знаковая арифметика в вычислительных системах          73

2.6. Альтернативная арифметика  77

2.6.1. Двоично-десятичная арифметика.  77

2.6.2. Модулярная арифметика      80

2.6.3. Арифметика с насыщением 81

2.7. Битовые операции        82

2.7.1. Поразрядные операции         82

2.7.2. Расширение целых чисел.     84

2.7.3. Битовые сдвиги          86

2.8. Представление вещественных чисел  89

2.8.1. Представление вещественных чисел с фиксированной запятой 89

2.8.2. Представление вещественных чисел с плавающей запятой        92

Контрольные вопросы         101

Глава 3. Архитектура команд семейства x86       102

3.1. Развитие линейки x86 и режимы работы      102

3.1.1. История семейства x86         103

3.1.2. Режимы работы процессора 106

3.2. Сегменты памяти          108

3.2.1. Код и статические данные    110

3.2.2. Куча     111

3.2.3. Стек     112

3.3. Регистры 115

3.3.1. Регистры общего назначения, доступные в тридцатидвухбитном режиме          116

3.3.2. Регистры общего назначения, доступные в шестидесятичетырёхбитном режиме            117

3.3.3. Специальные регистры и регистры расширений  119

3.4. Математический сопроцессор (FPU x87).     120

3.4.1. Регистры FPU.            120

3.4.2. Исключения FPU       123

3.5. Флаги      126

3.5.1. Флаги основного процессора           126

3.5.2. Флаги FPU      129

3.6. Структура команды и методы адресации      131

3.6.1. Методы адресации     131

3.6.2. Структура команды   132

3.6.3. Общие для тридцатидвухбитного и шестидесятичетырёхбитного режимов сведения об адресации.       133

3.6.4. Адресация в тридцатидвухбитном режиме           136

3.6.5. Расширение регистров в шестидесятичетырёхбитном режиме  137

3.6.6. Операнды и адресация в шестидесятичетырёхбитном режиме  139

3.6.7. Адресация относительно указателя команды        140

Контрольные вопросы         141

Глава 4. Связь уровней абстракции.          142

4.1. Компиляция       142

4.1.1. Инструменты разработки     143

4.1.2. Этапы компиляции    146

4.1.3. Особенности GCC.     148

4.2. Препроцессор    152

4.2.1. Включение файла      153

4.2.2. Условная компиляция.          154

4.2.3. Макросы          155

4.3. Ассемблерные вставки в код C++       159

4.3.1. Синтаксис ассемблерных вставок в GCC   159

4.3.2. Расширенная форма. 161

4.3.3. Практическое использование параметров 167

4.3.4. Ограничения на расположение операнда   170

4.3.5. Модификаторы параметров 171

Контрольные вопросы         172

Глава 5. Синтаксис и команды GNU Assembler x86       173

5.1. Особенности GNU Assembler  173

5.1.1. Общие правила           174

5.1.2. Основные директивы 175

5.1.3. Порядок операндов    178

5.1.4. Адресация операндов            179

5.1.5. Размер операндов команды  182

5.1.6. Мнемоники     184

5.1.7. Префиксы        185

5.2. Основные команды.      185

5.2.1. Общие команды         186

5.2.2. Передача управления, вызов и возврат       190

5.2.3. Обнуление регистра. 194

5.2.4. Команды целочисленной арифметики       194

5.2.5. Битовые операции     200

5.2.6. Флаги   202

5.2.7. Условные команды    204

5.3. Команды FPU    209

5.3.1. Внутреннее представление чисел   210

5.3.2. Возможные форматы экспорта-импорта    212

5.3.3. Общие команды.        213

5.3.4. Загрузка, выгрузка и пересылка данных.   214

5.3.5. Основные арифметические команды          221

5.3.6. Дополнительные арифметические и трансцендентные команды. 226

5.3.7. Сравнение вещественных чисел      228

Контрольные вопросы         232

Глава 6. Программирование на языке Ассемблера         233

6.1. Структура программы на ассемблере            233

6.1.1. Программирование с использованием libc            234

6.1.2. Программирование без libc  237

6.2. Подпрограммы и функции      239

6.2.1. Требования к вызовам функций      240

6.2.2. Механизм вызова подпрограммы    241

6.2.3. Соглашения о вызовах.         245

6.2.4. Описание функций на ассемблере  249

6.2.5. Импорт функций из модулей на ассемблере в код на C++          252

6.2.6. Импорт функций из модулей на C++ в код на ассемблере          254

6.2.7. Искажение имён при компиляции  255

6.2.8. Системные вызовы    259

6.3. Программирование нелинейных алгоритмов           261

6.3.1. Условие с операторами в одной ветви        261

6.3.2. Условие с операторами в двух ветвях         263

6.3.3. Цикл     267

6.4. Взаимодействие со структурами данных      270

6.4.1. Массивы          270

6.4.2. Структуры и объекты            277

Контрольные вопросы         282

Глава 7. Программирование на языке высокого уровня: С++   283

7.1. Структура программы  284

7.2. Типы данных     285

7.2.1. Целые типы     285

7.2.2. Вещественные типы  288

7.2.3. Специальные типы    289

7.2.4. Указатели        290

7.3. Приведение типов         291

7.4. Литералы C++   294

7.4.1. Целые   294

7.4.2. Вещественные            295

7.4.3. Строки 296

7.5. Средства автоматизации C++  297

7.5.1. Шаблоны C++.            297

7.5.2. Макросы препроцессора C/C++       299

7.6. Ввод-вывод        299

7.6.1. Ввод-вывод в поток   300

7.6.2. Ввод-вывод с помощью libc 301

7.7. Отладочная печать        307

7.7.1. Средства исследования переменных          307

7.7.2. Автоматизация отладочной печати 309

Контрольные вопросы         313

Заключение   314

Приложение А. Лабораторный практикум GNU Assembler      315

Требования к выполнению лабораторных работ 315

Л1. Представление данных в ЭВМ            318

Л2. Отладка кода      326

Л3. Модули и функции на ассемблере     332

Л4. Использование ассемблерных вставок в программах на C++.       335

Л5. Программирование FPU           337

Л6. Программирование ветвящихся и циклических алгоритмов          340

Л7. Использование массивов         343

Приложение Б. Коды ASCII            345

Литература    346

Предметный указатель.       351

Список таблиц          359

Список иллюстраций          360

Товар входит в категории

Вы можете купить книгу с доставкой курьером новой поштой укрпочтой Кривой Рог, Львов, Полтава, Житомир, Черкассы, Харьков, Чернигов, Винница, Тернополь, Киев, Луцк, Ровно, Хмельницкий, Херсон, Кировоград, Николаев, Днепропетровск, Ужгород, Запорожье, Суммы, Черновцы, Одесса, Ивано-франковск, другие города Украины. только в нашем магазине низкие цены, возможен торг, прямые поступления от издательства,книги под заказ, печать книг на заказ, компьютерные книги на английском языке.

Ви можете купити придбати книгу з доставкою кур'єром нова пошта Укрпошта Кривий Ріг, Львів, Полтава, Житомир, Харків, Чернігів, Вінниця, Тернопіль, Київ, Луцьк, Рівне, Хмельницький, Херсон, Кіровоград, Миколаїв, Дніпропетровськ, Ужгород , Запоріжжя, Суми, Чернівці, Черкаси, Одеса, Івано-франківськ, інші міста України. тільки в нашому магазині низькі ціни, можливий торг, прямі надходження від видавництва, книги під замовлення, друк книг на замовлення, комп'ютерні книги англійською мовою.