什么是从CMP为0x4(%ESI),EBX%汇编指令为0x4意味着什么呢?(What does 0x

2019-10-17 16:49发布

是什么0x4从以下装配线是什么意思?

cmp 0x4(%esi),%ebx
je ...

当这种比较收益相等,则执行该跳中,寄存器中的值: %esi 0xe944d6d0 %ebx 0xe94ceccc

对不起,问这么简单的问题,但我有一个困难时期与谷歌搜索等paranthesis符号。 在时间压力下花了超过一半,而一个小时。

Answer 1:

这是AT&T的语法,在Intel语句这将是:

cmp ebx,[esi+4]

需要注意的是操作数的顺序是相反的。

在Intel语句是DEST,SRC。 在AT&T它的SRC,DEST。

所以基本上是指令比较ebx与存储在DWORD值[esi+4]减去存储在DWORD值[esi+4]ebx ,就像sub会做,但cmp只更新标志,它不保存任何地方的结果。



文章来源: What does 0x4 from cmp 0x4(%esi),%ebx assembly instruction mean?