这段汇编指指令是什么意思?
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的变化,其它的都不管.谢谢了!!!! 展开
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的变化,其它的都不管.谢谢了!!!! 展开
2个回答
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存储除法操作的余数。
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存储除法操作的余数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询