Вопросы по теме 'eflags'

Флаг направления в x86
Я не могу понять, как работает флаг направления в x86 . Текст в моих лекциях говорит, что он увеличивает или уменьшает исходный или целевой регистр, но это не имеет смысла с его именем. Может кто-нибудь объяснить, что он делает?
7114 просмотров
schedule 21.07.2023

Причина использования бит переноса и бит переполнения
Я беру введение в класс встраиваемых систем. Читая, я столкнулся с интересным вопросом о реализациях бита переноса и бита переполнения. Я знаю, что такое бит переноса и бит переполнения, однако я не могу представить себе ситуацию, в которой кто-то...
1081 просмотров
schedule 09.06.2024

Go, сборка x64 и CMOVLMI: Где описан этот опкод?
Я читал исходный код Go, как и все, и когда я читал функцию fastrand() , которая для моей машины находилась бы в файле asm_amd64.s , я наткнулся на этот фрагмент: XORL $0x88888eef, DX CMOVLMI BX, DX MOVL DX, m_fastrand(AX)...
119 просмотров
schedule 15.11.2023

Сборка x86 - CMP неправильно устанавливает нулевой флаг
Я столкнулся с этим сравнением при отладке: | 38 19 | CMP BYTE PTR DS:[ECX], BL Я установил на нем точку останова и увидел это (значения в hex ): ECX = 00838430 BYTE PTR[ECX]=[00838430]=55 EBX = 00000055 (BL = 55) EFLAGS = 00000314 (CF=0...
895 просмотров
schedule 05.11.2023

Непонятное поведение флага CF
Допустим, есть кусок кода: mov al, 12 mov bl, 4 sub al, bl В данном случае флаг CF=0, но на мой взгляд он должен быть равен 1, так как операция вычитания реализована на операции сложения и процессор не знает, что мы ему подаем на вход, будь то...
80 просмотров
schedule 07.06.2022