在32为电脑中
已知
有符号整数X
无符号整数Y 且 Y >= 0x80000000
结论:
![]()
注:s表示
由此可得出如下汇编代码
假设X = 123h
Y = 8765h
mov ax,08765h
mov cx,0123h
imul cx ==>X*Y = DX.AX <-- DX表示高位 AX表示低位
add dx,cx ==>关键(技巧)代码 这句的作用相当于
2^32*X(s)
-------------------伪代码-------
mov ax,1
imul 2^23
==>DX进1 AX不变
本文探讨了在32位计算机环境下,通过特定的汇编指令实现有符号整数X与无符号整数Y(Y大于等于0x80000000)相乘的方法。给出了具体的例子,如X=123h,Y=8765h,并解释了关键代码`add dx, cx`的作用,即相当于计算2^32*X。
2752

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



