Наталья Юрьевна Добровольская , Олег Васильевич Гаркуша - Ассемблер в примерах и задачах
Название: | Ассемблер в примерах и задачах | |
Автор: | Наталья Юрьевна Добровольская , Олег Васильевич Гаркуша | |
Жанр: | Учебники и самоучители по компьютеру, Программирование: прочее, Assembler | |
Изадано в серии: | неизвестно | |
Издательство: | Кубанский государственный университет | |
Год издания: | 2022 | |
ISBN: | 978-5-8209-2052-3 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Ассемблер в примерах и задачах"
Изложены фундаментальные темы: организация современного компьютера, устройство процессоров семейства IA-32, синтаксис языка ассемблера, макросредства, программирование типовых управляющих структур, сложные структуры данных, оптимизация программ. Приведены многочисленные примеры, иллюстрирующие материал. Адресуется студентам факультета компьютерных технологий и прикладной математики, изучающим основы программирования.
Читаем онлайн "Ассемблер в примерах и задачах". [Страница - 5]
Вспомогательный
флаг переноса
Состояние
Зарезервирован
Interrupt
Флаг разрешения
Enable Flag прерываний
Direction
Флаг направления
Flag
Overflow
Флаг переполнения
Flag
I/O
Уровень приоритета
Privilege
ввода-вывода
Level
Nested Task Флаг вложенности
задач
Системный
Управляющий
Состояние
Системный
Системный
Зарезервирован
EFLAGS
16
RF
Resume Flag Флаг возобновления
Системный
17
VM
Virtual8086 Mode
Режим виртуального
процессора 8086
Системный
18
AC
Alignment
Check
Проверка
выравнивания
Системный
VIF
Virtual
Interrupt
Flag
Виртуальный флаг
разрешения
прерываний
Системный
VIP
Virtual
Interrupt
Pending
Ожидающее
виртуальное
прерывание
Системный
19
20
16
Регистры процессоров семейства IA-32
№
21
Флаг
ID
Название
ID Flag
Описание
Проверка на
доступность
инструкции CPUID
Тип флага
Системный
22
...
31
Зарезервированы
Значение флагов CF, DF и IF можно изменять напрямую в
регистре флагов с помощью специальных инструкций (например,
CLD для сброса флага направления), но нет инструкций, которые
позволяют обратиться к регистру флагов как к обычному регистру.
Однако можно сохранять регистр флагов в стек или регистр AH и
восстанавливать регистр флагов из них с помощью инструкций
LAHF, SAHF, PUSHF, PUSHFD, POPF и POPFD.
Флаги состояния (биты 0, 2, 4, 6, 7 и 11) отражают результат
выполнения арифметических инструкций, таких как ADD, SUB,
MUL, DIV.
− Флаг переноса CF устанавливается при переносе из
старшего значащего бита / заёма в старший значащий бит и
показывает наличие переполнения в беззнаковой целочисленной
арифметике. Также используется в длинной арифметике;
− Флаг чётности PF устанавливается, если младший
значащий байт результата содержит чётное число единичных
битов. Изначально этот флаг был ориентирован на использование
в коммуникационных программах: при передаче данных по
линиям связи для контроля мог также передаваться бит чётности и
инструкции для проверки флага чётности облегчали проверку
целостности данных;
− Вспомогательный флаг переноса AF устанавливается при
переносе из бита 3-го результата / заёма в 3-й бит результата. Этот
флаг ориентирован на использование в двоично-десятичной
(binary coded decimal, BCD) арифметике;
− Флаг нуля ZF устанавливается, если результат равен нулю;
17
Ассемблер в примерах и задачах
− Флаг знака SF равен значению старшего значащего бита
результата, который является знаковым битом в знаковой
арифметике;
− Флаг
переполнения
OF
устанавливается,
если
целочисленный результат слишком длинный для размещения в
целевом операнде (регистре или ячейке памяти). Этот флаг
показывает наличие переполнения в знаковой целочисленной
арифметике.
Из перечисленных флагов только флаг CF можно изменять
напрямую с помощью инструкций STC, CLC и CMC.
Флаги состояния позволяют одной и той же арифметической
инструкции выдавать результат трёх различных типов:
беззнаковое, знаковое и двоично-десятичное (BCD) целое число.
Если результат считать беззнаковым числом, то флаг CF
показывает условие переполнения (перенос или заём), для
знакового результата перенос или заём показывает флаг OF, а для
BCD-результата перенос / заём показывает флаг AF. Флаг SF
отражает знак знакового результата, флаг ZF – и беззнаковый, и
знаковый нулевой результат.
В длинной целочисленной арифметике флаг CF используется
совместно с инструкциями сложения с переносом (ADC) и
вычитания с заёмом (SBB) для распространения переноса или заёма
из одного вычисляемого разряда длинного числа в другой.
Инструкции условного перехода Jcc (переход по условию
cc), SETcc (установить значение байта-результата в зависимости
от условия cc), LOOPcc (организация цикла) и CMOVcc (условное
копирование) используют один или несколько флагов состояния
для проверки условия. Например, инструкция перехода JLE (jump
if less or equal – переход, если «меньше или равно»)
проверяет условие «ZF = 1 или SF ≠ OF».
Флаг PF был введён для совместимости с другими
микропроцессорными архитектурами и по прямому назначению
используется редко. Более распространено его использование
совместно с остальными флагами состояния в арифметике с
плавающей запятой: инструкции сравнения (FCOM, FCOMP и т. п.) в
математическом сопроцессоре --">
Книги схожие с «Ассемблер в примерах и задачах» по жанру, серии, автору или названию:
Коллектив авторов - Rust на примерах Жанр: Другие языки и системы программирования Год издания: 2011 |
Андрей В. Жуков - Ассемблер Жанр: Учебники и самоучители по компьютеру Год издания: 2002 |
Алексей Николаевич Васильев - Программирование на C++ в примерах и задачах Жанр: C, C++, C# Год издания: 2017 Серия: Российский компьютерный бестселлер |