eflags

    0热度

    1回答

    我正在阅读Qemu的源代码,想知道Qemu如何模拟x86处理器的eflags,在target-i386/cc-helper.c文件中我发现像compute_all_addw这样的函数可以完成这项工作,我想知道Qemu如何实现这些功能,但是我找不到定义所有这些功能。我错过了什么?请帮助。

    3热度

    1回答

    我通过拆卸win32的C++程序读,我看到不少: AND AL,0xFF 这是完全没有意义的,或者为什么会编译器生成这些? 这是一个较长的例子: movsx eax, byte ptr [ebx] shl eax, 18h movsx edx, byte ptr [ebx+1] shl edx, 10h add eax, edx movsx ecx, byte ptr [ebx

    1热度

    1回答

    我碰到这个比较调试的时候就来了: | 38 19 | CMP BYTE PTR DS:[ECX], BL 我设置一个断点,并(在十六进制值)看到这一点: ECX = 00838430 BYTE PTR[ECX]=[00838430]=55 EBX = 00000055 (BL = 55) EFLAGS = 00000314 (CF=0 OF=0 SF=0 ZF=0 AF=1 PF=1)

    -3热度

    1回答

    鉴于“...当算术或逻辑运算的结果产生零结果时设置零标志(ZF)”,cmp指令如何与ZF交互? 考虑下面的代码片段, mov eax, 0 mov edx, 1 cmp eax, edx 如何CMP评估两个操作数,什么是ZF设置?如果操作数反转(cmp edx,eax),那么ZF是否设置为与原始语句中相同的值? 如果我要比较两个相同的值,cmp如何评估操作数以及ZF的设置是什么? cmp

    0热度

    1回答

    amd64平台上的gdb中的eflags寄存器与寄存器更宽的rflags具有相同的含义吗? Gdb只使用amd64向我显示我机器上的eflags寄存器。

    1热度

    1回答

    有没有办法用lldb调试器设置零标志? 像set ($eflags)=从GDB 有只似乎是register write rflags ...设置所有