汇编语言整数运算与逻辑操作详解
1. 有符号乘法
有符号乘法允许更广泛的操作数和操作数大小。其通用形式如下:
- imul <source>
- imul <dest>, <src/imm>
- imul <dest>, <src>, <imm>
在所有情况下,目的操作数必须是寄存器。对于多操作数乘法指令,不支持字节操作数。
单操作数乘法
使用单操作数乘法指令时, imul 的布局与 mul 相同,但操作数仅被解释为有符号数。
双操作数乘法
当使用两个操作数时,目的操作数和源操作数相乘,结果放在目的操作数中(覆盖先前的值),即 <dest> = <dest> * <src/imm> 。 <src/imm> 操作数可以是寄存器、内存位置或立即数。立即数的大小限制为源操作数的大小,最大为双字(32 位),即使是四字(64 位)乘法也是如此。最终结果会截断为目的操作数的大小,不支持字节大小的目的操作数。
三操作数乘法
当使用三个操作数时,两个操作数相乘,结果放在目的操作数中,即 <dest> = <src> * <imm> 。 <src&
超级会员免费看
订阅专栏 解锁全文
2万+

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



