Описание тега eflags

EFLAGS refers to the flags register of the x86/x64 architecture.
1 ответ

GDB Eflags зарегистрироваться на x86_64

Регистрирует ли eflags в gdb на платформе amd64 то же значение, что и rflags с более широким регистром? GDB показывает мне только регистр eflags на моей машине с amd64.
06 окт '17 в 01:55
1 ответ

Инструкция Sub и затронутые флаги на x86

Поскольку документация на самом деле не описывает, как влияют на флаги, я не мог понять, в чем разница между переносом и подписанным флагом во время подинструкции, похоже, что когда a sub a, b будут установлены флаги для переноса и подписи. Есть ли …
18 апр '16 в 13:46
1 ответ

Как установить нулевой флаг с помощью lldb?

Есть ли способ установить нулевой флаг с помощью отладчика lldb? что-то вроде set ($eflags)= из гдб там только кажется register write rflags ... установить все
06 май '15 в 10:47
1 ответ

Не можете найти определение функций compute_all_xxx в репозитории QEMU для цели i386?

Я читал исходный код Qemu и удивляюсь, как Qemu эмулирует флаги для процессора x86, в target-i386/cc-helper.c файл, который я обнаружил, что функции, такие как compute_all_addw сделать работу, я хочу знать, как Qemu реализует эти функции, но я не мо…
09 ноя '16 в 16:04
2 ответа

Сравнивая вектор xmmX

Допустим, вы загрузили вектор xmm1 с четырьмя плавающими точками одинарной точности {1.5, 1.5, 1.5, 1.5} и xmm2 с одинаковыми точками, поэтому xmm1 == xmm2. Теперь вы хотите сравнить их, так что вы пишете в сборке: movaps %xmm1, %xmm2 cmpeqps %xmm0,…
10 мар '15 в 18:53
0 ответов

В руководствах Intel x86 говорится, что JA/JNBE берется, когда (CF или ZF) = 0. Это ошибка?

Я загрузил объединенные тома Руководства разработчика программного обеспечения для архитектуры Intel 64 и IA-32: 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D и 4. В Table 7-4. Conditional Jump Instructions это говорит инструкции JA/JNBE прыгать, когда (CF or Z…
16 май '18 в 09:42
3 ответа

Сборка - JG/JNLE/JL/JNGE после CMP

Я не понимаю JG/JNLE/JL/JNGE инструкции, которые идут после CMP. например, если у меня есть: CMP al,dl jg label1 когда al=101; dl =200, На что мы спрашиваем jg? Это на al>dl? или же al-dl>0? Тот же пролбем на следующий код: test al,dl jg label…
08 мар '12 в 12:46
0 ответов

Как определить значение каждого бита флага уникально

Написание инструкций по сборке влияет только на значение бита CF (не может влиять на другие биты флага), как определить значение каждого бита флага уникально введите описание изображения здесь
20 фев '19 в 12:01
1 ответ

Почему бы не использовать POPF для восстановления состояния флага прерывания?

Мой вопрос не о том, что BX использовалось как возвращаемое значение, а не помещалось в глобальную область памяти или в стек. Я заметил, что этот код был недавно опубликован в комментарии. Код был для обработчика мыши реального режима, использующего…
25 фев '19 в 12:37
1 ответ

x86 зарезервированные EFLAGS, бит 1 == 0: как это может произойти?

Я использую Win32 API для остановки / запуска / проверки / изменения состояния потока. Обычно работает довольно хорошо. Иногда это не удается, и я пытаюсь найти причину. У меня есть один поток, который принудительно переключает контекст в других пот…
01 апр '14 в 05:44
6 ответов

Какова цель флага четности на процессоре?

Некоторые процессоры (особенно процессоры x86) имеют флаг четности в своем регистре состояния. Этот флаг указывает, является ли число битов результата операции нечетным или четным. Какой фактической практической цели служит флаг четности в контексте…
07 сен '14 в 04:41
2 ответа

Как установить / снять флажок TF на процессоре Intel x86 IA32 в пользовательском режиме

Я хотел бы знать шаги для установки / очистки EFLAGS.TF в пользовательском режиме на x86 IA32 Intel CPU попробовал ниже для очистки флага TF, но получаю ошибку ***** Unhandled interrupt vector ***** __asm__ volatile("pushl %eax\n\t" "pushfl\n\t" "po…
19 июл '18 в 06:23
1 ответ

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

В настоящее время я изучаю ассемблер. В Microsoft visual studio 2017 я хотел проверить текущее состояние флагов реестра. Я хотел знать, что означает каждое сокращение флага регистра, поэтому я захожу на вики-страницу с флагами регистра x86. Но, как …
23 авг '17 в 06:32
1 ответ

Есть ли лучший способ сохранить DF в функции или подпрограмме

Мне нравится заниматься оптимизацией, в первую очередь, в контексте пространства, думая об алгоритмическом потоке. После экспериментов с несколькими различными сценариями, этот, кажется, лучший, который я мог придумать. Предположим также, что это не…
24 фев '18 в 02:21
2 ответа

Как работает установка / отмена флагов MASM

Установить средства flag value = 1 и Unset означает flag value = 0 Теперь я понимаю, что есть несколько способов установить и снять флаги в MASM, а именно: test al,0 ; set Zero flag and al,0 ; set Zero flag or al,1 ; clear Zero flag То же самое каса…
05 июл '18 в 03:04
1 ответ

Сборка x86 - CMP неправильно устанавливает нулевой флаг

Я наткнулся на это сравнение при отладке: | 38 19 | CMP BYTE PTR DS:[ECX], BL Я установил точку останова и увидел это (значения в шестнадцатеричном формате): ECX = 00838430 BYTE PTR[ECX]=[00838430]=55 EBX = 00000055 (BL = 55) EFLAGS = 00000314 (CF=0…
19 янв '17 в 20:14
1 ответ

Какова цель "И AL,0xFF"?

Я читаю через разобранную программу win32 C++ и вижу довольно много: AND AL,0xFF Это совершенно бессмысленно или почему компилятор генерирует их? Вот более длинный пример: movsx eax, byte ptr [ebx] shl eax, 18h movsx edx, byte ptr [ebx+1] shl edx, 1…
27 июл '17 в 21:33
2 ответа

Смоделировать инструкцию jg (datalab's isGreater)

Я делаю datalab CSAPP, функцию isGreater.Вот описание isGreater - if x > y then return 1, else return 0 Example: isGreater(4,5) = 0, isGreater(5,4) = 1 Legal ops: ! ~ & ^ | + << >> Max ops: 24 Rating: 3 x и y оба являются типом in…
04 июл '18 в 07:23
1 ответ

Когда инструкция cmp изменяет флаг zf? [x86 MASM]

Учитывая, что "... флаг Zero (ZF) устанавливается, когда результат арифметической или логической операции генерирует результат нуля", как инструкция cmp взаимодействует с ZF? Учитывая следующий фрагмент кода, mov eax, 0 mov edx, 1 cmp eax, edx как c…
18 май '16 в 21:04
2 ответа

Как установить или снять флаг переполнения в сборке x86?

Я хочу написать простой код (или алгоритм), чтобы установить / очистить флаг переполнения. Для установки OF я знаю, что могу использовать подписанные значения. Но как я могу это очистить?
22 апр '16 в 16:05