1

当使用带有单个 8 位操作数的IMUL指令时,结果存储在AX寄存器中。我有以下代码

    mov eax, 0
    mov ebx, 0

    mov al, 48
    mov bl, 4

    call dumpregs

    imul bl

    call dumpregs

48 * 8 是 192(C0 in hex),正确地存储在AX寄存器中为00C0(见下面的输出)。AX寄存器的有符号范围是-32,768到 +32,767,无符号范围是0 到 65,535。因此,OF 和 CF 标志都应该是 clear(0)。但正如您在以下输出中看到的那样,它们都是 set(1)。

输出

4

0 回答 0