01/10/2018, 09:55

Overflow không thể xảy ra khi dùng mul instruction?

Câu hỏi in màu vàng ở dưới nó nói : Hãy giải thích tại sao overflow không thể xảy ra khi dùng mul instruction và imul instrcution với 1 toán hạng





Nhưng khi mình test lại thì thấy vẫn có trường hợp xảy ra overflow với mul instruction(Hình bên dưới)



( of = 1 và cf = 1)
Không biết “sách sai” hay mình sai nữa? .Giải thích giùm mình cái này đi !!

*grab popcorn* viết 11:59 ngày 01/10/2018

Không xảy ra được Overflow vì kq nó được lưu ở thanh ghi lớn hơn.
Như al * bl = 255*255 -> kq lưu trong AH = 2 byte cuối của EAX = 0xFE01, như hình trên đã đúng.
AH * x -> lưu trong EAX
EAX * x -> lưu = 2 thanh ghi là EAX:EDX (64bit)

Bài liên quan
0