При использовании инструкции IMUL с одним 8-битным операндом результат сохраняется в регистре AX .
У меня есть следующий код
mov eax, 0
mov ebx, 0
mov al, 48
mov bl, 4
call dumpregs
imul bl
call dumpregs
48 * 8 равен 192 (C0 в шестнадцатеричном формате) , который правильно хранится в AX , зарегистрированном как 00C0 (см. Вывод ниже). Диапазон со знаком AX составляет от -32,768 до + 32,767 , а диапазон без знака от 0 до 65,535 . Поэтому оба флага OF и CF должны быть очищены (0). Но, как вы можете видеть в следующем выводе, они оба установлены (1).