CDQ指令的功能是该指令先把edx的每一位置成eax的最高位,意思就是说把EAX由32位扩展成64位(EDX:EAX),EDX表示原来EAX的符号,
这个是进行除法之前的准备操作!
<span style="font-size:24px;">00401053 mov eax,dword ptr [ebp-4]
00401056 cdq
00401057 mov ecx,64h
0040105C idiv eax,ecx
0040105E mov dword ptr [i],eax </span>
eax除以ecx,商保存在eax,余数放在edx ,基本上没edx什么事,除了后面保存余数
先前把符号位保存到edx里面,等除法做完了 ,符号位又回到eax里面了

4008

被折叠的 条评论
为什么被折叠?



