AA指令的调正步骤 如AL的低4位>9或AF=1,则: ①(AL)←(AL)+6,(AH)←(AH)+1,AF←1 ②(AL)←(AL)∧0FH) ③CF←AF 否则(AL)←((AL)∧0FH) 再来看前例,用如下程序段可得正确结果 MOV AL, 08H ADD AL, 09H AAA 12
12 AAA指令的调正步骤: 如AL的低4位>9或AF=1,则: ① (AL)←(AL)+6,(AH)←(AH)+1,AF←1 ② (AL)←((AL)∧0FH) ③ C F ← A F 否则(AL)←((AL)∧0FH) 再来看前例,用如下程序段可得正确结果 MOV AL,08H ADD AL,09H AAA
例2:计算26583619=? 设被加数和加数的每一位都以ASCI码形式存 放在内存中,低位在前,高位在后,另留出5个 单元存相加的结果。 如下页图3-13示 13
13 例2:计算2658+3619=? 设被加数和加数的每一位都以ASCII码形式存 放在内存中,低位在前,高位在后,另留出5个 单元存相加的结果。 如下页图3-13示
STRINGI 38H 35H 36H 8562 被加数 32H STRING2 39H9 31H 数据 36H 数段 33H 3 SUM 结果 图3-13 14
14 36H 32H 38H 35H STRING1 ‘8’ 被 加 数 ‘5’ ‘6’ ‘2’ 39H 31H 36H 33H ... ‘9’ 数 据 段 STRING2 ‘1’ 加 ‘6’ 数 ‘3’ ... SUM 结 果 图3-13