汇编,mov和lea 指令问题
1movesi,edi将edi寄存器中的值给esi2movesi,[edi]将edi寄存器中的值所指向的单元中的值给esi?3movesi,[edi+18]将edi寄存器...
1 mov esi,edi 将edi寄存器中的值给 esi2 mov esi,[edi] 将edi寄存器中的值所指向的单元中的值给 esi ?3mov esi, [edi+18] 将edi寄存器中的值+18后所指向的单元中的值给 esi ?4 mov esi,dword ptr [edi+18] 将edi中的值+18后所指向的单元中的值强制转化成32字节的数据给esi?那么如果要将edi指向的值+18后给edi是分两条指令来写吗?(mov移动后用add运算?)5lea eax,esi 取esi中的值(应该是个地址吧?)的段偏移?6 lea eax,[esi+18] 将esi中的值+18 所指向的单元中的值 取段偏移给eax ?7 lea eax,esi+18 这个格式应该不对吧?8 lea eax,dword ptr [esi+18] 将esi中的值+18 所指向的单元中的值 取段偏移强制转化成32字节的数据给eax ?上面的6个指令中不知道我的解释对不对?还有里面应该有指令格式写错的吧?还有对于lea指令取的是一个对应段的偏移量,在上面的第8个lea指令中我看有的书上说可以理解成将esi+18的地址 给eax 这个有点想不通。请教下,小弟在此先谢谢了~
展开
2013-09-19
展开全部
lea就是取地址,[esi] 地址还是esi,或者[esi +18] 的地址还是esi + 18
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询