问题标签 [eflags]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1165 浏览

lldb - 何用 lldb 设置零标志?

有没有办法用 lldb 调试器设置零标志?

来自gdb之类的东西set ($eflags)=似乎只是register write rflags ...设置所有

0 投票
4 回答
2235 浏览

assembly - Intel x86 Assembly - 读取和复制进位标志

我目前正在创建一个将十进制转换为二进制的程序。我目前正在使用移位方法来获取 0 和 1。

我查看了导致使用 LAHF 和 PUSHF 访问标志并设置它的其他线程;但是,我要做的就是获取进位标志的当前值并将其存储到一个寄存器中(即:当前位置的 1 或 0),稍后将其复制到数组中。由于我对 LAFH 或 PUSHF 不太熟悉,我想知道您是否可以使用 LAFH 或 PUSHF 完成我在上面提出的相同任务。

例如,我想将当前 CF 移动到 eax:mov edx,cf(我知道这不起作用,但我正在寻找类似的东西)。在我复制了 1 或 0 之后,我会将它移动到从 C++ 程序传递的数组中。

0 投票
1 回答
3582 浏览

assembly - x86 上的子指令和受影响的标志:可以 SUB 设置 SF != CF 吗?

由于文档并没有真正描述标志是如何受到影响的,所以我无法弄清楚在子指令期间进位和有符号标志之间的区别是什么,似乎只要 a < b 在sub a, b进位和有符号标志中都将被设置。是否存在在子指令期间设置有符号标志而不带进位(反之亦然)的情况?

0 投票
3 回答
7869 浏览

assembly - 如何在 x86 程序集中设置或清除溢出标志?

我想编写一个简单的代码(或算法)来设置/清除溢出标志。对于设置 OF,我知道我可以使用有符号值。但我怎样才能清除呢?

0 投票
1 回答
2420 浏览

assembly - cmp指令何时修改zf标志?[x86 MASM]

鉴于“...当算术或逻辑运算的结果生成零结果时设置零标志 (ZF)”,那么 cmp 指令如何与 ZF 交互?

鉴于以下代码片段,

cmp 如何评估两个操作数以及 ZF 设置为什么?如果操作数反转(cmp edx, eax),那么 ZF 是否设置为与原始语句中相同的值?

如果我要比较两个相同的值, cmp 如何评估操作数以及 ZF 设置为什么?

0 投票
0 回答
52 浏览

linux - 带有 AC 标志的未对齐内存访问不会在 Windows 上引发任何陷阱

使用英特尔 x86_64 CPU。我试图在 Windows 上捕获“未对齐的内存访问错误”。这在 Linux (Ubuntu) 上完美运行。

例如,我可以像这样打开 EFLAGS 寄存器上的 AC 标志

然后,未对齐的内存访问(例如,0x804a003 上的 DWORD 读/写)会引发 Linux 进程的 SIGBUS 错误。

但是,使用相同的 CPU,如果我在 Windows(7 和 8)上做同样的事情,什么也不会发生。有人可以解释我为什么吗?这是因为 Windows 禁用了 CR0.AM 标志而 Linux 没有吗?

我会很感激一些建议。谢谢你。

0 投票
2 回答
681 浏览

c - 使用 NASM 指向 EFLAGS 的 C 指针

对于我学校的一项任务,我需要编写一个使用汇编程序进行 16 位加法的 C 程序。除了结果之外,还应返回 EFLAGS。

这是我的 C 程序:

目前程序只打印结果而不是标志,因为我无法得到它们。

这是我使用 NASM 的汇编程序:

现在这一切都很顺利。但我不知道如何获取必须[ebp+16]指向标志寄存器的指针。教授说我们将不得不使用pushfd命令。

我的问题在于汇编代码。在获得标志的解决方案后,我将修改 C 程序以发出标志。

0 投票
1 回答
402 浏览

assembly - Intel SDM 手册中的“按结果设置”是什么意思?

这是我在 Intel x86-64 forneg和许多其他指令的文档中看到的内容(包括sub,因此将 FLAGS 理解neg x0 - x取决于此)。

根据结果​​设置OFSFZFAFPF标志。

我假设sf = dest < 0, zf = dest == 0,但无法弄清楚其他标志是如何设置的。

我到处都看到这个“根据结果设置”短语,并希望您能帮助理解“相应地”设置标志的确切含义。

0 投票
1 回答
59 浏览

qemu - 在 i386 目标的 QEMU 存储库中找不到 compute_all_xxx 函数的定义?

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

0 投票
2 回答
3918 浏览

assembly - x86 sbb 与第一个和第二个操作数具有相同的寄存器

我正在分析一系列x86指令,并对以下代码感到困惑:

我知道这sbb等于des = des - (src + CF),换句话说,第一条指令以某种方式-CF放入edx. 然后它negtive -CF变成CFtest是否CF等于零??

但请注意,jz检查标志ZF,不是CF!那么基本上上面的代码序列试图做什么?这是一个合法的x86指令序列,由g++version生成4.6.3

C++代码实际上来自botan项目。您可以在此处找到整体汇编代码(Botan RSA 解密示例)。反汇编代码中有很多这样的指令序列。