教材稱:xorl(邏輯異或)執行後,進位標誌 CF = 0,溢出標誌 OF = 0。
移位指令(shl/sal, shr, sar 等)執行後,CF = 最後被移出的位,OF = 0(單位移位時 OF 有特殊定義,多位移位 OF 未定義/置 0)。
問:這些設置是人為約定嗎?
是約定,但符合硬體邏輯與數學語義,並非隨意。
jc, jo)。shl → CF=高位 → 高 64 位 rcl 含進位旋轉左移)。這是經典用法,極其合理。標誌位設置反映了 指令語義與硬體實現的契合。理解這些規則,能編寫高效、正確的彙編代碼,正確使用 jc, jnc, jo, jno 等條件跳轉。