关于汇编的重定位语句add ebx,dword ptr ds:[ebp]
关于汇编的重定位语句addebx,dwordptrds:[ebp],这句代码不太理解,是怎么实现重定位的?麻烦高手解答一下,复制的仁兄就别来了,至要求原创的,通俗说下,做...
关于汇编的重定位语句add ebx,dword ptr ds:[ebp],这句代码不太理解,是怎么实现重定位的?麻烦高手解答一下,复制的仁兄就别来了,至要求原创的,通俗说下,做个比喻也行,只要让我明白理解就OK了?
展开
2013-05-13
展开全部
不知道你说的“重定位”的上下文是什么
就这句而言,作用就是把ebp地址里的值加到ebx里
相当于
ebx = ebx + [ebp]
ebp里存一个地址,[ebp]是这个地址里的值
一个加法而已
//////////
看来是为下面的 call dword ptr ss:[ebx] 做准备,上一句add ebx,dword ptr ds:[ebp]计算出调用的地址,然后下句call调用
/////// 和上次的add ebx,dword ptr ds:[ebp]效果完全一样,只不过一个操作数换成了esp
就好比
x = 1 + 2
x = 1 + 3一样,执行的都是加法
这里的[esp]的值其实就是上面那句push eax里eax的值,所以相当于add ebx, eax
就这句而言,作用就是把ebp地址里的值加到ebx里
相当于
ebx = ebx + [ebp]
ebp里存一个地址,[ebp]是这个地址里的值
一个加法而已
//////////
看来是为下面的 call dword ptr ss:[ebx] 做准备,上一句add ebx,dword ptr ds:[ebp]计算出调用的地址,然后下句call调用
/////// 和上次的add ebx,dword ptr ds:[ebp]效果完全一样,只不过一个操作数换成了esp
就好比
x = 1 + 2
x = 1 + 3一样,执行的都是加法
这里的[esp]的值其实就是上面那句push eax里eax的值,所以相当于add ebx, eax
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询