x86 регистр флаг сокращений

В настоящее время я изучаю ассемблер.

В Microsoft visual studio 2017 я хотел проверить текущее состояние флагов реестра.

введите описание изображения здесь

Я хотел знать, что означает каждое сокращение флага регистра, поэтому я захожу на вики-страницу с флагами регистра x86.

введите описание изображения здесь

Но, как вы можете видеть, аббревиатуры флагов регистра, показанные в Visual studio, не соответствуют аббревиатурам на вики-странице.

Для флагов регистрации в Visual Studio, как я могу узнать, что они означают?

1 ответ

Решение

Microsoft, кажется, использует несколько другие сокращения для флагов, их можно найти в более старой документации Visual Studio:

OV: переполнение
UP: направление
EI: прерывание
PL: знак
ZR: ноль
AC: вспомогательный перенос
ЧП: паритет
CY: нести

Флаг переполнения (OV): устанавливается в 1, когда данная инструкция предназначена, например, для 32-битной, а результирующее значение - 33-битной.

Флаг направления (UP): используется для операций со строками, например lodsb. Если установлено в 1, доступ осуществляется из более высокой ячейки памяти в более низкую ячейку памяти, в противном случае доступ осуществляется из нижней ячейки памяти в более высокую ячейку памяти.

Флаг прерывания (EI): помогает процессору определить внешнее прерывание. Если установлено значение 1, микропроцессор распознает запрос прерывания. В противном случае он проигнорирует запрос на прерывание.

Знак (PL): устанавливается в 1, когда наиболее значимый бит равен 1.

Ноль (ZR): устанавливается в 1, если результат равен нулю после выполнения команды.

Вспомогательный перенос (AE): Bocome 1, если 4-й бит генерирует перенос.

Четность (PE): становится 1, если количество 1 бит в младшем байте результата четный.

Перенос (CY): устанавливается в 1, если перенос генерируется после операции.

Другие вопросы по тегам