单片机与DSP中的单片机指令(四)算术运算类指令
文件大小: 55k
源码售价: 10 个金币 积分规则     积分充值
资源说明:不带进位位的加法指令 ADD A,#DATA ;例:ADD A,#10H ADD A,direct ;例:ADD A,10H ADD A,Rn ;例:ADD A,R7 ADD A,@Ri ;例:ADD A,@R0 用途:将A中的值与其后面的值相加,最终结果否是回到A中。 例:MOV A,#30H ADD A,#10H 则执行完本条指令后,A中的值为40H。   下面的题目自行练习 MOV 34H,#10H MOV R0,#13H MOV A,34H ADD A,R0 MOV R1,#34H ADD A,@R1 带进位位的加法指令 ADDC 在单片机与DSP系统中,指令集是执行各种计算和控制操作的基础。本文将重点关注算术运算类指令,特别是不带进位位的加法指令ADD和带进位位的加法指令ADDC,以及其他的算术运算指令,如带借位的减法、乘法、除法和加1指令。 1. 不带进位位的加法指令ADD: - ADD A, #DATA:将立即数DATA与累加器A的内容相加。 - ADD A, direct:将存储在某个直接地址的数值与A相加。 - ADD A, Rn:将寄存器Rn的内容与A相加。 - ADD A, @Ri:将Ri所指内存单元的值与A相加。 例如,如果A的初始值为30H,执行ADD A, #10H后,A的值将变为40H。 2. 带进位位的加法指令ADDC: - ADC A, Rn:A与Rn相加,同时考虑进位位C。 - ADC A, direct:A与直接地址的值相加,考虑进位位C。 - ADC A, @Ri:A与Ri所指内存单元的值相加,考虑进位位C。 - ADC A, #data:A与立即数data相加,考虑进位位C。 在16位加法中,ADDC指令用于处理低位加法产生的进位,以便进行高位加法。 3. 带借位的减法指令SUBB: - SUBB A, Rn:A减去Rn,同时考虑借位。 - SUBB A, direct:A减去直接地址的值,考虑借位。 - SUBB A, @Ri:A减去Ri所指内存单元的值,考虑借位。 - SUBB A, #data:A减去立即数data,考虑借位。 当CY(进位标志位)为1时,相当于执行带借位的减法。 4. 乘法指令MUL AB: - MUL AB:A和B中的8位无符号数相乘,结果的高8位存入B,低8位存入A。 当乘积超过16位(FFFFFH,即65535)时,OV(溢出标志位)置1,否则OV为0,CY始终为0。 5. 除法指令DIV AB: - DIV AB:A中的8位无符号数除以B中的8位无符号数,商存入A,余数存入B。 如果除数B为0,则0V(非法除数标志位)置1,否则0V为0。执行除法后,CY和OV都为0。 6. 加1指令INC: - INC A:累加器A的值加1。 - INC Rn:指定寄存器Rn的值加1。 - INC direct:直接地址处的值加1。 - INC @Ri:Ri所指内存单元的值加1。 - INC DPTR:数据指针DPTR的值加1。 INC指令是单字节、单周期指令,对于A的加1操作,不会影响PSW位,即使A的值为0FFH,执行INC A后,A变为00H,而CY标志位不变。 这些基本的算术运算指令构成了单片机与DSP系统中进行数值处理的基础。了解并熟练掌握这些指令,能够有效地进行程序设计,实现各种复杂的计算任务。在编写程序时,根据需要选择合适的指令,可以提高程序的效率和准确性。通过实践和理解这些指令的工作原理,开发者能够更好地控制和优化单片机或DSP系统的运行。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。