操作碼 |
指令 |
說明 |
37 |
AAA |
加之後 ASCII 調整 AL |
調整兩個非壓縮 BCD 值之和,以形成一個非壓縮 BCD 結果。AL 暫存器是此指令隱含的源運算元與目標運算元。AAA 指令僅在 ADD 指令之後使用,ADD 指令將兩個非壓縮 BCD 值相加(二進制加法),並將位元組結果儲存到 AL 暫存器。接著,AAA 指令調整 AL 暫存器的內容,使之包含正確的 1 位數非壓縮 BCD 結果。
如果加法產生十進制進位,則 AH 暫存器遞增 1,並設定 CF 與 AF 標誌。如果沒有十進制進位,則清除 CF 與 AF 標誌,AH 暫存器保持不變。在上述任何一種情況下,AL 暫存器的第 4 到 7 位都清除為 0。
IF ((AL AND 0FH) > 9) OR (AF 1)
THEN
AL AL + 6;
AH AH + 1;
AF 1;
CF 1;
ELSE
AF 0;
CF 0;
FI;
AL AL AND 0FH;
如果調整產生十進制進位,則將 AF 與 CF 標誌設定 1;否則將它們清除為 0。OF、SF、ZF 及 PF 標誌未定義。
無。