AAS - 減之後 AL ASCII 調整

操作碼

指令

說明

3F

AAS

執行減法之後,對 AL 進行 ASCII 調整

說明

調整兩個非壓縮 BCD 值相減的結果,以產生非壓縮 BCD 結果。AL 暫存器是此指令隱含的源運算元與目標運算元。AAS 指令僅用在將兩個非壓縮 BCD 值相減(二進制減法),並將位元組結果儲存到 AL 暫存器的 SUB 指令之後。接著,AAA 指令調整 AL 暫存器的內容,使之包含正確的 1 位數非壓縮 BCD 結果。

如果減法產生十進制進位,則 AH 暫存器遞減 1,並將 CF 與 AF 標誌設定為 1。如果不發生十進制進位,則清除 CF 與 AF 標誌,AH 暫存器保持不變。在任何一種情況下,AL 暫存器的高位半位元組都設定為 0。

操作

IF ((AL AND 0FH) > 9) OR (AF 1)
THEN
AL AL - 6;
AH AH - 1;
AF 1;
CF 1;
ELSE
CF 0;
AF 0;
FI;
AL AL AND 0FH;

影響的標誌

如果發生十進制借位,則 AF 與 CF 標誌設定為 1;否則清除為 0。OF、SF、ZF 及 PF 標誌未定義。

異常(所有操作模式)

無。