了解命令的作用

Understand what a command does

我正在学习 x86 语法。

我偶然发现了这个命令,但我似乎不确定它的作用:

cmpl [=10=]x0,%cs:0x6574

我知道cmp只是比较差异并设置标志。 l 表示正在比较无符号值。

我的问题是:

我们在比较什么?
0x0 中的值与什么值 %cs:0x6574 相比?
cs 寄存器包含一个地址,我应该向它添加 0x6574 并提取值吗?类似于:

mem[cs+0x6575] 

提前致谢!

假设这是来自实模式代码,它是默认段覆盖。因此,而不是隐式 DS 使用 CS 段。 在实模式下地址计算有点不同。段的值首先乘以 16,然后加上偏移量。

所以在你的符号中它将是

mem[16*cs+0x6575]