Информация о книге

5-94157-745-1

Главная  » Научно-техническая литература » Информационные технологии. Компьютеры » Программирование » Другие языки программирования » Ассемблер на примерах

Пирогов В.Ю., Ассемблер на примерах


серия: На примерах
БХВ-Петербург, 2005 г., 416 стр., 5-94157-745-1 , 232*163*17 мм., тираж: 3000


Описание книги

На практических примерах рассмотрен широкий круг вопросов программирования на языке Ассемблера, начиная от азов и заканчивая основами многозадачного программирования в Операционных системах Windows NT2000XP2003. Описаны команды микропроцессора, использование MASM, создание консольных и оконных приложений в Windows, работа с файлами и др. Все примеры сопровождаются подробными комментариями. Большое внимание уделяется совместному использованию языков ассемблера и C++, а также основам API-программирования.

Ключевые слова

Поделиться ссылкой на книгу



Содержание книги

Введение 9
Что надо знать и уметь? 10
Требования к системе 10
Почему следует изучать язык ассемблера? 10
Соглашения 11
Благодарности 11
Для кого эта книга 11
Послание старых мастеров 12
Глава 1. Visual C++ и ассемблер 13
1.1. О Visual Studio .NET и работе в ней 13
1.1.1. Стартовая страница 14
1.1.2. О проекте в Visual Studio .NET 15
1.2. О программировании на языке Си 18
1.2.1. Простая программа 18
1.2.2. Си и C++ 22
1.2.3. Особенности трансляции программ,
написанных на Си 22
1.3. Начало программирования на ассемблере 23
1.4. Изучаем команды микропроцессора 25
1.4.1. Адресация и команды пересылки данных 25
1.4.2. О стеке 31
1.4.3. Арифметические операции над целыми
числами 34
Сложение 34
Вычитание 36
Умножение 38
Деление 40
1.4.4. Команды передачи управления 41
Команды условного и безусловного переходов 42
Организация цикла 44
Другие команды передачи управления 46
1.4.5. Манипуляция над битами 48
Логические операции 48
Операции с отдельными битами 51
Сдвиговые операции 52
1.4.6. Строковые операции 56
Команды пересылки 57
Команды сравнения 57
Команды поиска (сканирования) 58
Команды чтения из строки 58
Команды записи в строку 58
Команды чтения/записи строки из порта 58
1.4.7. Использование команд математического
сопроцессора 62
1.4.8. Команды MMX 66
1.4.9. Другие команды микропроцессора 67
Команды управления флагами 67
Другие команды 68
Глава 2. Программирование с использованием MASM
70
2.1. О пакете MASM. Структура программы 70
2.1.1. Первое знакомство с MASM 71
Простая программа 71
Трансляция 74
О директивах MASM 76
2.2. Объектные модули и библиотеки 89
2.2.1. Процедуры и способы передачи параметров
90
Внутренняя структура процедуры 90
Директива PROC 93
Вызов процедуры 94
2.2.2. Объектные модули 97
Общая схема трансляции 97
Согласование имен 99
Создание библиотек 99
Использование при компоновке объектных модулей
и библиотек 101
2.2.3. Совместное использование языка ассемблера
и Си 104
Искажения имен и другие особенности совместного
использования Си и ассемблера 104
Программа на Си, вызывающая процедуру из
ассемблерного модуля 105
Использование при программировании на
ассемблере возможностей языка Си 106
Глава 3. Программирование на ассемблере в
операционной системе Windows (консольные
приложения) 111
3.1. Об API-функциях 111
3.2. О консольных приложениях 116
3.2.1. Что такое консоль и консольное приложение
116
3.2.2. Пример консольного приложения 117
3.3. Разработка консольных приложений 120
3.3.1. Создание консоли 120
3.3.2. Обработка событий 127
Критические события 128
Мышь и клавиатура 128
Пример цикла обработки сообщений для
консольного приложения 131
Таймер 142
3.3.3. Определение параметров командной строки
148
3.4. О кодировании текстовой информации в
операционной системе Windows 152
3.4.1. Системы кодирования и стандарты 152
3.4.2. Кодировки OEM и ANSI 153
3.4.3. Кодировка UNICODE 154
Глава 4. Программирование на ассемблере в
операционной системе Windows (приложения GUI)
158
4.1. Структура приложения GUI 159
4.1.1. Регистрация и создание окна 159
4.1.2. Процедура окна 162
4.1.3. Сообщения и цикл обработки сообщений 164
4.1.4. Пример простого оконного приложения 166
4.1.5. Собственные и дочерние окна 175
4.2. Элементы управления окна 184
4.2.1. Основные элементы управления 185
4.2.2. Управление элементами окна 186
4.2.3. Пример оконной программы с элементами
управления 188
4.3. Вывод в окно 198
4.3.1. Текст в окне 198
О сообщении WM_PAINT 199
О контексте устройства 199
Управление текстом 202
Шрифты 204
Примеры программ 206
4.3.2. Оконная графика 225
Кисть и перо 225
Основные функции 226
Совместимый контекст (виртуальное окно) 228
Пример графической программы 230
4.4. Ресурсы и диалоговые окна 241
4.4.1. Понятие ресурса 242
Концепция 242
Основные ресурсы 243
4.4.2. Создание и управление диалоговыми окнами
263
Создание диалоговых окон 263
Пример программы с диалоговым окном 265
Два типа диалоговых окон 273
4.5. Таймер 282
4.5.1. Управление таймером 282
4.5.2. Пример таймера 283
Глава 5. Углубляем свои знания о
программировании в Windows 289
5.1. Файлы 289
5.1.1. Файлы и файловые системы 289
Характеристики файлов 290
Файловая система FAT32 293
Файловая система NTFS 296
5.1.2. Управление файлами 303
Функции поиска файлов 303
Функции управления файлами 305
Функции доступа к содержимому файлов 307
5.1.3. Пример программы 312
5.2. Многозадачность 316
5.2.1. Основные понятия 316
5.2.2. Некоторые функции API, используемые в
многозадачности 317
5.2.3. Средства синхронизации 322
Семафоры 322
События 323
Критические секции 324
Взаимоисключения 325
5.2.4. Примеры многозадачности 325
5.3. Динамические библиотеки 341
5.3.1. Принципы использования динамических
библиотек 341
Явное связывание (явная загрузка) 343
Неявное связывание 344
5.3.2. Примеры создания динамических библиотек
345
Приложение 1. Системы счисления и битовая
арифметика 354
П1.1. Двоичная и десятичная системы счисления
354
П1.2. Шестнадцатеричная система счисления 356
П1.3. Представление чисел в компьютере 357
П1.3.1. Беззнаковые целые числа 357
П1.3.2. Числа со знаком 357
П1.3.3. Вещественные числа 359
П1.3.4. Двоично-десятичные числа 360
Приложение 2
. Справочник по командам и регистрам
микропроцессора Pentium 361
П2.1. Регистры микропроцессора Pentium 361
П2.1.1. Регистры общего назначения 361
П2.1.2. Регистр флагов 362
П2.1.3. Сегментные регистры 363
П2.1.4. Управляющие регистры 363
П2.1.5. Системные адресные регистры 365
П2.1.6. Регистры отладки 365
П2.2. Команды процессора Intel 365
П2.3. Арифметический сопроцессор 379
П2.3.1. Функционирование и структура 379
П2.3.2. Команды сопроцессора 383
П2.4. Расширение MMX 389
П2.4.1. Архитектура MMX 389
П2.4.2. Инструкции MMX 389
П2.4.3. Новые инструкции MMX 392
Приложение 3. Реальный режим процессора Pentium
395
Приложение 4. Защищенный режим процессора
Pentium 398
П4.1. Принципы функционирования защищенного
режима (преобразование логического адреса в
защищенном режиме, дескрипторные таблицы) 398
П4.2. Селекторы 401
П4.3. Дескриптор кода и данных 402
П4.4. Другие дескрипторы 403
П4.5. Об уровнях привилегий 404
П4.6. Сегмент TSS 404
П4.7. О защите и уровнях привилегий 404
П4.8. Привилегированные команды 405
П4.9. Переключение задач 405
П4.10. Страничное управление памятью 406
Приложение 5. Параметры командной строки
ML.EXE и LINK.EXE 407
Литература 413
Предметный указатель 414


Об авторе


Последние поступления в рубрике "Другие языки программирования"



Функциональная верификация VHDL-описаний синхронных цифровых устройств Функциональная верификация VHDL-описаний синхронных цифровых устройств Бибило П.Н.

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

Scala для нетерпеливых Scala для нетерпеливых Хорстман К.

Написанная для опытных программистов на Java, C++ и C#, которые желают освоить функциональное программирование или язык Scala, книга в сжатой форме знакомит с основными идеями и приемами программирования, что позволяет быстро осваивать их и применять......

R. Книга рецептов R. Книга рецептов Лонг Д.

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

Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Пирогов В.Ю., Ассемблер на примерах в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.