gpt4 book ai didi

assembly - 汇编中的 MUL 运算

转载 作者:行者123 更新时间:2023-12-02 15:57:26 33 4
gpt4 key购买 nike

我有以下 assembly 线:

...
MOV ECX, 0x36EE80
MOV EDX, 0x95217CB1
MUL EDX
SHR EDX, 0x15
MOV DWORD PTR SS:[EBP-0x3C8], EDX
....
....

所以,在 http://en.wikibooks.org/wiki/X86_Assembly/Arithmetic我读到 MUL 操作数的值(在这种情况下是 EDX)与 EAX 中的值相乘。因此,在 EAX 中,我的值为 0330FD3B(十进制:53542203)。在 EDX 中,我的值为 95217CB1(十进制:2501999793)。但在 MUL 操作之后,我在 EDX 中得到值 01DBEE41(十进制:31190593)。但这一定是错误的,因为 53542203 * 2501999793 不是 31190593...

有人能给我解释一下吗?

最佳答案

The description对于 MUL r/m32Unsigned multiply (EDX:EAX <- EAX * r/m32).

这意味着 64 位 产品将存储在 EDX:EAX 中,即高 32 位最终为 EDX以及 EAX 中的低 32 位。这与您看到的结果相符,因为产品应该是 0x1DBEE41EB22A9CB。

关于assembly - 汇编中的 MUL 运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48794793/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com