Partial_Reg_at_Target 是一個警告。
出現以下情況時將發生暫停:
指令寫入部分暫存器(例如 AL、AH 及 AX)。
後續的分支指令執行到目標基本指令塊。由於靜態分析假設執行分支,因此懲罰狀態在該指令處指示。
目標基本指令塊包含讀取完整的 32 位暫存器(例如 EAX)的指令。這會導致部分暫存器暫停。
這適用於以下方式組成的暫存器對:一個較大的暫存器及其任何部分暫存器,或同一組中的兩個部分暫存器。較大的暫存器及其部分暫存器之一的示例有:AX 與 EAX、BL 與 BX 以及 SI 與 ESI。同一組中的兩個部分暫存器的示例有:AL 與 AH 以及 CL 與 CH。
示例:
此序列中的 JNE 指令觸發 Partial_Reg_at_Target 警告:
L1: : add mem, ebx / the partial stall occurs here : L2: : mov bh, cl / writes to partial register : jne L1 / triggers Partial_Reg_at_Target warning