文档详情

南京邮电大学微机接口与原理课件第3章.ppt

发布:2017-05-20约3.25万字共192页下载文档
文本预览下载声明
2. 调整原理 以加法调整为例。 7 0 1 1 1 1 1 0 1 + 6 + 0 1 1 0 + 0 1 1 0 1 3 1 1 0 1 0 0 1 1 D 0 0 0 1 0 0 1 1 13 (H) 不同的运算指令的调整方法不同,但道理是一样的。 1 3. 调整指令 加法: DAA 组合BCD码十进制加法调整指令。 AAA 未组合BCD码十进制加法调整指令。 减法: DAS 组合BCD码十进制减法调整指令。 AAS 未组合BCD码十进制减法调整指令。 乘法: AAM 未组合BCD码十进制乘法调整指令。 除法: AAD 未组合BCD码十进制除法调整指令。 笔算 CPU运算 加法调整 43 + 55 98 0100,0011 ADD) 0101,0101 1001,1000 C标=0,A标=0,高低四位均没有出现非法BCD码,结果正确,不修正 39 + 49 88 0011,1001 ADD) 0100,1001 1000,0010 +) 0110 1000,1000 低四位有进位,即A标=1,对运算结果加06H修正 63 + 54 117 0110,0011 ADD) 0101,0100 1011,0111 +) 0110,0000 1,0001,0111 高四位出现非法BCD码数,对运算结果加60H修正 87 + 86 173 1000,0111 ADD) 1000,0110 1,0000,1101 +) 0110,0110 1,0111,0011 因为C标=1,低四位出现非法BCD码,对运算结果加66H修正 笔算 CPU运算 加法调整 例:计算1234+5678=? 要求CPU完成的操作:加法 指令:ADD 、ADC 代码段: MOV AL , BYTE PTR N1 ADD AL , BYTE PTR N2 MOV BYTE PTR SUM , AL MOV AL , BYTE PTR N1+1 ADC AL , BYTE PTR N2+1 MOV BYTE PTR SUM+1 , AL 数据段: N1 DW 1234 N2 DW 5678 SUM DW ? 方法一:二进制字节加 代码段: MOV AL , BYTE PTR N1 ADD AL , BYTE PTR N2 DAA MOV BYTE PTR SUM , AL MOV AL , BYTE PTR N1+1 ADC AL , BYTE PTR N2+1 DAA MOV BY
显示全部
相似文档