操作碼 |
指令 |
說明 |
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 標誌未定義。
無。