前言:
现在我们对“单片机中除法”大概比较注重,同学们都想要剖析一些“单片机中除法”的相关内容。那么小编在网上收集了一些关于“单片机中除法””的相关资讯,希望各位老铁们能喜欢,咱们快快来学习一下吧!一:加一减一指令(共9条)
1、INC:单片机加1指令(共5条),主要用于修改地址指针和计数次数,只有一个操作数。
指令功能:是将操作数所确定的单元或寄存器中的内容加1,最后将结果还是送回原操作数单元中。
操作数:累加器A、寄存器Rn、直接地址direct、寄存器间接寻址单元、数据指针寄存器DPTR中的内容。
2、DEC:单片机减1指令(共4条),只有一个操作数,与INC指令类似。
指令功能:是将操作数所确定的单元或寄存器中的内容减1,最后将结果还是送回原操作数单元中。
操作数:累加器A、寄存器Rn、直接地址direct、寄存器间接寻址单元中的内容。
二:十进制调整指令(1条)
DA A
单片机十进制调整指令,功能是在进行BCD码加法运算时,用来对BCD码的加法运算结果自动进行修正,修正结果存放在A中。
BCD码:是二进码十进数或二-十进制代码,用4位二进制数来表示1位十进制数中的0~9这10个数码。
注意:
1:在进行BCD加法运算时,在单片机加法指令ADD或ADDC指令后紧跟着DA A指令,单片机自动判断和修正。
2:对BCD码的减法运算时不能用DA A指令不进行修正,不适用减法指令。
3:影响PSW中CY、AC、OV标志位。(请看下图:标志寄存器PSW功能图)
三:乘法指令(1条)
MUL AB
单片机乘法指令,功能是实现2个8位无符号数的乘法运算,相乘的2个数分别存放在累加器A中和寄存器B中,乘积结果为16位:低8位存放在A中,高8位存放在B中。
注意:
1:乘数和被乘数可以交换。
2:乘积结果大于255,PSW中的溢出标志位OV置1,否则为0 。
单片机指令举例:
02H和04H的乘法运算
MOV A,#02H
MOV B,#04H
MUL AB
执行指令结果:
A:08H
B:00H
OV:0
四:除法指令(1条)
DIV AB
单片机除法指令,功能是实现2个8位无符号数的除法运算,被除数放在累加器A中,除数放在寄存器B中。相除结果:商放在A中,余数放在B中。
注意:
单片机除法指令也影响PSW中CY和OV标志位,相除之后CY和OV均为0。(请看上图:标志寄存器PSW功能图)
单片机指令举例:
22和4的除法运算
MOV A,#22
MOV B,#04
MUL AB
执行指令结果:
A:05H
B:02H
CY:0
OV:0
到此为止,24条单片机算术运算类指令讲解完毕,谢谢阅读!欢迎留言讨论,共同提高!
标签: #单片机中除法 #单片机bcd码转十进制