Assembler. Учебник для вузов. Виктор Юров

Assembler. Учебник для вузов

ИздательствоПитер
Год издания2008
Страниц640
ПереплетТвердый переплет
ИзданиеВторое издание
Формат70х100/16 (170х240 мм, увеличенный)
ISBN978-5-94723-581-4
ИзготовительООО «Питер Мейл». 198206, РФ, Санкт-Петербург г, Петергофское ш, д. 73, лит. А29
ИмпортерООО "Питер М", 220020, РБ, г. Минск, ул. Тимирязева, д.121, корп.3, к. 214

В учебнике рассматриваются вопросы программирования на языке ассемблера для компьютеров на базе микропроцессоров фирмы Intel. Основу книги составляет материал, являющийся частью курса, читаемого автором в высшем учебном заведении и посвященного вопросам системного программирования.

В учебнике рассматриваются вопросы программирования на языке ассемблера для компьютеров на базе микропроцессоров фирмы Intel. Основу книги составляет материал, являющийся частью курса, читаемого автором в высшем учебном заведении и посвященного вопросам системного программирования. По сравнению с первым изданием, учебник существенно переработан. Исправлены ошибки и неточности. Добавлено описание команд для Intel-совместимых процессоров (до Pentium IV включительно). Книга будет полезна студентам вузов, программистам и всем желающим изучить язык Assembler. Допущено Министерством образования Российской Федерации в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению подготовки дипломированных специалистов "Информатика и вычислительная техника".

Содержание

  • Предисловие
  • Благодарности
  • От издательства
  • Глава 1. Организация современного компьютера
    • Машинный язык и язык ассемблера
    • История процессоров Intel
    • Итоги
  • Глава 2. Программно-аппаратная архитектура IA-32 процессоров Intel
    • Архитектура ЭВМ
    • Архитектура IA-32
    • Варианты микроархитектуры процессоров Intel
    • Программная модель IA-32
    • Итоги
  • Глава 3. Система команд процессора IA-32
    • Формат машинных команд IA-32
    • Поле префиксов
    • Код операции
    • Байт режима адресации mod r/m
    • Байт масштаба, индекса и базы
    • Поля смещения и непосредственного операнда
    • Функциональная классификация машинных команд
    • Итоги
  • Глава 4. Системы счисления
    • Двоичная система счисления
    • Шестнадцатеричная система счисления
    • Десятичная система счисления
    • Перевод чисел из одной системы счисления в другую
    • Перевод в десятичную систему счисления
    • Перевод в двоичную систему счисления
    • Перевод в шестнадцатеричную систему счисления
    • Перевод дробных чисел
    • Перевод чисел со знаком
    • Итоги
  • Глава 5. Синтаксис ассемблера
    • Синтаксис ассемблера
    • Операнды
    • Операнды-выражения
    • Директивы сегментации
    • Простые типы данных ассемблера
    • Итоги
  • Глава 6. Первая программа
    • Жизненный цикл программы
    • Пример простой программы
    • Процесс разработки программы
    • Трансляция программы
    • Компоновка программы
    • Отладка программы
    • Особенности разработки программ в MASM
    • Особенности разработки программ в Microsoft Visual Studio
    • Выбор пакета ассемблера
    • Итоги
  • Глава 7. Команды обмена данными
    • Пересылка данных
    • Ввод из порта и вывод в порт
    • Работа с адресами и указателями
    • Преобразование данных
    • Работа со стеком
    • Итоги
  • Глава 8. Арифметические команды
    • Обзор
    • Целые двоичные числа
    • Десятичные числа
    • Арифметические операции над целыми двоичными числами
    • Сложение двоичных чисел без знака
    • Сложение двоичных чисел со знаком
    • Вычитание двоичных чисел без знака
    • Вычитание двоичных чисел со знаком
    • Вычитание и сложение операндов большой размерности
    • Умножение двоичных чисел без знака
    • Умножение двоичных чисел со знаком
    • Деление двоичных чисел без знака
    • Деление двоичных чисел со знаком
    • Вспомогательные команды для арифметических вычислений
    • Команды преобразования типов
    • Другие полезные команды
    • Арифметические операции над двоично?десятичными числами
    • Неупакованные BCD-числа
    • Упакованные BCD-числа
    • Итоги
  • Глава 9. Логические команды и команды сдвига
    • Логические данные
    • Логические команды
    • Команды сдвига
    • Линейный сдвиг
    • Циклический сдвиг
    • Дополнительные команды сдвига
    • Примеры работы с битовыми строками
    • Рассогласование битовых строк
    • Вставка битовых строк
    • Извлечение битовых строк
    • Пересылка битов
    • Итоги
  • Глава 10. Команды передачи управления
    • Безусловные переходы
    • Команда безусловного перехода
    • Процедуры
    • Условные переходы
    • Команда сравнения
    • Команды условного перехода и флаги
    • Команды условного перехода и регистр ECX/CX
    • Установка байта по условию
    • Организация циклов
    • Ограничение области видимости для меток
    • Итоги
  • Глава 11. Программирование типовых управляющих структур
    • Условный оператор if-else
    • Оператор выбора switch
    • Операторы цикла
    • Оператор цикла с предусловием while
    • Операторы continue и break
    • Оператор цикла с постусловием do-while
    • Оператор итерационного цикла for
    • Особенности пакета MASM
    • Условная конструкция .IF
    • Циклическая конструкция .REPEAT
    • Циклическая конструкция .WHILE
    • Конструкции .BREAK и .CONTINUE
    • Комплексный пример
    • Итоги
  • Глава 12. Цепочечные команды
    • Пересылка цепочек
    • Команда MOVS
    • Пересылка байтов, слов и двойных слов
    • Сравнение цепочек
    • Команда CMPS
    • Сравнение байтов, слов и двойных слов
    • Сканирование цепочек
    • Команда SCAS
    • Сканирование строки байтов, слов, двойных слов
    • Загрузка элемента цепочки в аккумулятор
    • Команда LODS
    • Загрузка в регистр AL/AX/EAX байтов, слов, двойных слов
    • Перенос элемента из аккумулятора в цепочку
    • Команда STOS
    • Сохранение в цепочке байта, слова, двойного слова из регистра AL/AX/EAX
    • Работа с портами ввода-вывода
    • Ввод элемента цепочки из порта ввода-вывода
    • Вывод элемента цепочки в порт ввода-вывода
    • Итоги
  • Глава 13. Сложные структуры данных
    • Массивы
    • Описание и инициализация массива в программе
    • Доступ к элементам массива
    • Двухмерные массивы
    • Типовые операции с массивами
    • Структуры
    • Описание шаблона структуры
    • Определение данных с типом структуры
    • Методы работы со структурами
    • Объединения
    • Записи
    • Описание записи
    • Определение экземпляра записи
    • Работа с записями
    • Дополнительные возможности обработки
    • Итоги
  • Глава 14. Макросредства языка ассемблера
    • Псевдооператоры EQU и =
    • Макрокоманды
    • Макродирективы
    • Директивы WHILE и REPT
    • Директива IRP
    • Директива IRPC
    • Директивы условной компиляции
    • Директивы компиляции по условию
    • Директивы генерации ошибок
    • Константные выражения в условных директивах
    • Дополнительные средства управления трансляцией
    • Директивы управления файлом листинга
    • Итоги
  • Глава 15. Модульное программирование
    • Структурное программирование
    • Процедуры в языке ассемблера
    • Передача аргументов через регистры
    • Передача аргументов через общую область памяти
    • Передача аргументов через стек
    • Использование директив EXTRN и PUBLIC
    • Возврат результата из процедуры
    • Связь ассемблера с языками высокого уровня
    • Встраиваемый ассемблерный код
    • Внешний ассемблерный код
    • Команды ENTER и LEAVE
    • C и ассемблер
    • Итоги
  • Глава 16. Создание Windows приложений на ассемблере
    • Программирование оконных Windows?приложений
    • Каркасное Windows-приложение на C/C++
    • Каркасное Windows-приложение на ассемблере
    • Стартовый код
    • Главная функция
    • Обработка сообщений в оконной функции
    • Средства TASM для разработки Windows приложений
    • Углубленное программирование на ассемблере для Win32
    • Ресурсы Windows-приложений на языке ассемблера
    • Меню в Windows-приложениях
    • Перерисовка изображения
    • Окна диалога в Windows-приложениях
    • Программирование консольных Windows приложений
    • Минимальная программа консольного приложения
    • Организация высокоуровневого консольного ввода-вывода
    • Пример программы консольного ввода-вывода
    • Итоги
  • Глава 17. Архитектура и программирование сопроцессора
    • Архитектура сопроцессора
    • Регистр состояния SWR
    • Регистр управления CWR
    • Регистр тегов TWR
    • Форматы данных
    • Двоичные целые числа
    • Упакованные целые десятичные числа
    • Вещественные числа
    • Специальные численные значения
    • Система команд сопроцессора
    • Команды передачи данных
    • Команды загрузки констант
    • Команды сравнения данных
    • Арифметические команды
    • Команды трансцендентных функций
    • Команды управления сопроцессором
    • Исключения сопроцессора и их обработка
    • Недействительная операция
    • Деление на ноль
    • Денормализация операнда
    • Переполнение и антипереполнение
    • Неточный результат
    • Немаскируемая обработка исключений
    • Использование отладчика
    • Общие рекомендации по программированию сопроцессора
    • Итоги
    • Вместо заключения
    • Приложение. Система команд процессоров IA-32
    • Целочисленные команды
    • Команды сопроцессора
    • Команды блока MMX
    • Команды блока XMM (SSE и SSE2)
  • Список литературы
  • Алфавитный указатель

Похожие лоты

Вход

В течение нескольких секунд вам придёт SMS с одноразовым кодом для входа. Если ничего не пришло — отправьте код ещё раз.
Это бесплатно, безопасно и займёт всего несколько секунд
Войдите с помощью своего профиля

Регистрация

Введите номер вашего мобильного телефона:
Войдите с помощью электронной почты или номера телефона
Войдите с помощью своего профиля

Восстановление пароля

Укажите адрес электронной почты, который вы использовали при регистрации
Нужна помощь? Напишите нам

Восстановление пароля

Инструкции по восстановлению пароля высланы на 
Нужна помощь? Напишите нам