两种不同的乘法结果

时间:2021-07-28 17:46:08

标签: assembly x86 nasm

结果差异的原因是什么:

mov  eax, 0
mov  al,  2
mov  ah,  4
mul  ah;  eax == 0x08

和:

mov  eax, 0
mov  al,  2
mov  ah,  4
mul  al;  eax == 0x10

1 个答案:

答案 0 :(得分:3)

对于 8 位寄存器 mul,隐含的第二个操作数是 al。在伪代码中:

mul ah 表示 ax = ah * al

mul al 表示 ax = al * al

x86 汇编经常使用隐含操作数,因此最好阅读指令参考以了解它们。