什么是从CMP为0x4(%ESI),EBX%汇编指令为0x4意味着什么呢? [英] What does 0x4 from cmp 0x4(%esi),%ebx assembly instruction mean?

查看:1306
本文介绍了什么是从CMP为0x4(%ESI),EBX%汇编指令为0x4意味着什么呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

What does 0x4 from the following assembly line mean?

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

在这个比较收益相等,则执行该跳中,寄存器的值:
%ESI 0xe944d6d0
%EBX 0xe94ceccc

When this compare returns equal and the jump is performed the registers have the values: %esi 0xe944d6d0 %ebx 0xe94ceccc

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

Sorry for asking such a simple question but I'm having a hard time searching such paranthesis notation with google. Spent more than half an hour while under time pressure.

推荐答案

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

That is AT&T syntax, in Intel syntax it would be:

cmp ebx,[esi+4]

请注意该操作数的顺序是相反的。

Note that the order of operands is reversed.

在Intel语法是DEST,SRC。在AT&安培; t将其的SRC,DEST

In Intel syntax it's dest, src. In AT&T it's src, dest.

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

So basically that instruction compares ebx with the dword value stored in [esi+4] by subtracting the dword value stored in [esi+4] from ebx, just like sub would do, but cmp only updates flags, it doesn't store the result anywhere.

这篇关于什么是从CMP为0x4(%ESI),EBX%汇编指令为0x4意味着什么呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆