Вопросы по теме '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