Điều toàn bộ lá cờ làm tôi bối rối. Các định nghĩa trên web dường như thực sự đơn giản. Tôi dường như không thể có được một lời giải thích áp dụng thực sự tốt cho tất cả điều này.Làm cách nào để xác định khi nào cờ 0, cờ hiệu, cờ tràn và cờ tiến hành được đặt?
Theo định nghĩa của chúng, - thực hiện: chỉ ra một unsigned integer overflow - overflow: chỉ ra một số nguyên tràn ký - zero: một hoạt động sản xuất không - dấu hiệu: hoạt động sản xuất một số âm
Vậy làm thế nào trên thế giới có những câu sau đây đúng không? - Các hướng dẫn sau sẽ đặt cờ Đăng: (. Câu trả lời ở đây là 252 không phải là một số âm Vậy tại sao là tập hợp dấu hiệu cờ?)
mov al,0FEh
sub al,2
Thêm 7Fh và 05h trong một 8-bit đăng ký thiết lập cờ tràn. (Câu trả lời ở đây là 132. Nó không phải là trên 255 vậy tại sao có một tràn?)
Thêm 0FFh và 05h trong thanh ghi 8 bit không đặt cờ tràn. là 300 vì vậy làm thế nào là không có một lá cờ tràn trên? Nó là trên 256)
Thêm 5 đến 0FBh trong thanh ghi 8 bit đặt cờ Zero (Câu trả lời ở đây là 256, không phải 0. Tôi hiểu 8 bit chỉ có thể giữ 255 nhưng "0" xuất phát từ đâu? Tôi chỉ không hiểu.)
Ai đó có thể vui lòng cho tôi biết tôi đang làm gì sai ở đây và cách tiếp cận đúng là gì? Cảm ơn.
Bạn có thể muốn đọc về cách số âm được thể hiện trong phần bổ sung của hai. – EOF
_ "Câu trả lời ở đây là 252 không phải là số âm" _ Câu trả lời là 0xFC, có thể xem là 252 hoặc -4. Việc giải mã cờ hiệu trong hướng dẫn sử dụng của Intel là _ "Đặt bằng bit quan trọng nhất của kết quả, là bit dấu của một số nguyên đã ký. (0 cho biết giá trị dương và 1 cho biết giá trị âm.)" _ . 0xFC rõ ràng có bộ bit quan trọng nhất. – Michael
_ "Tôi hiểu 8 bit chỉ có thể giữ 255 nhưng đâu" 0 "đến từ đâu?" _ Giá trị của 8 bit quan trọng nhất là 256 là bao nhiêu? – Michael