这段汇编指指令是什么意思?

005F23D4|.56pushesi005F23D5|.8B30movesi,dwordptr[eax]005F23D7|.57pushedi005F23D8|.8B7... 005F23D4 |. 56 push esi
005F23D5 |. 8B30 mov esi,dword ptr [eax]
005F23D7 |. 57 push edi
005F23D8 |. 8B78 04 mov edi,dword ptr [eax+4]
005F23DB |. 8BD7 mov edx,edi
005F23DD |. 8BC2 mov eax,edx
005F23DF |. C1FA 1F sar edx,1F
005F23E2 |. 03C6 add eax,esi
005F23E4 |. 33D2 xor edx,edx
005F23E6 |. F771 14 div dword ptr [ecx+14] //尤其这一句是什么意思
005F23E9 |. 8B41 08 mov eax,dword ptr [ecx+8]

为什执完 div dword ptr [ecx+14]这句后EDX会被赋值, 网上说的稀里糊涂的,到底是谁除以谁呀, 商还是余数放EDX中,麻烦大神把帮我翻译一下这段代码的意思,我只关心EDX的变化,其它的都不管.谢谢了!!!!
展开
 我来答
匿名用户
2014-01-10
展开全部
div是除法指令,使用div做除法的时候应注意以下问题:
1、除数:有8位和16位两种,在一个寄存器或者内存中。
2、被除数:默认放在AX或(DX和AX)中,如果除数为8位,被除数为16位,被除数默认在AX中存放,如果除数为16位,被除数为32位,被 除数则在(DX和AX)中存放,DX存放高16位,AX存放低16位。
3、结果:如果除数是8位,则AL存储除法操作的商,AH存储除法操作的余数;如果除数是16位,则AX存储除法操作的商,DX存储除法操作的余数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_fmlyht
2013-12-28 · TA获得超过2359个赞
知道大有可为答主
回答量:2398
采纳率:0%
帮助的人:1819万
展开全部
div dword ptr [ecx+14]
这种情况是(EDX:EAX)/(dword ptr [ecx+14]),(EDX)<-余,(EAX)<-商

代码片段的大致意思是:
(a+b)/c
其中
a=(dword ptr [eax])b=(dword ptr [eax+4])
c=(dword ptr [ecx+8])

具体功能应参照上下文!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式