有3个参数组装CMP指令 [英] Assembly cmp instruction that has 3 arguments
问题描述
我通过一些组装code阅读试图找出它做什么(它是一个挑战,所以没有什么恶意的)。
在一行中有下列指令:
I am reading through some assembly code trying to figure out what its doing ( its a challenge so nothing malicious). On a single line there is the following instruction :
CMP D,[EAX],0DADADADA
cmp d,[eax],0DADADADA
我已经花了年龄,我知道你不能比较3个值,所以我知道0DA ....部分是我错过了什么。我发现了一些文章,我无法找到再次表明,这是事做填补空白的内存,但不知道,任何帮助将是AP preciated。
I have spent ages on Google and cant figure this one out, i know you can't compare 3 values so i know the 0DA.... part is what I'm missing. I found some article that i cannot find again suggesting that this is something to do with filling up blank memory but not sure, any help would be appreciated.
推荐答案
您必须指定要使用的汇编语法;有相当多的品种为86(此可能的是),甚至为别人着想。
You have to specify the assembler syntax you are using; there's quite a number of varieties for the x86 (which this likely is) and even for others.
由于不知道具体的语法,并同意CMP指令不具有3个操作数,我猜D表示DWORD [32位]。所以我觉得可能跨pretation是
Not knowing the specific syntax, and agreeing that CMP instructions don't have 3 operands, I'm guessing the "d" means "dword [32 bits]". So I think the likely interpretation is
"compare dword operand indirect through eax to hex literal 0DADADADA"
这是一个有效的x86指令。
That is a valid x86 instruction.
这篇关于有3个参数组装CMP指令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!