一:加一减一指令(共9条)
单片机加一减一指令表
1.INC: MCU加1指令(共5条),主要用于修改地址指针和计数次数,只有一个操作数。
函数:将操作数确定的单元或寄存器的内容加1,最后将结果送回原操作数单元。
操作数:累加器A、寄存器Rn、直接地址、寄存器间接寻址单元和数据指针寄存器DPTR的内容。
2.DEC: MCU减1指令(共4条),只有一个操作数,类似INC指令。
功能:是将操作数确定的单元或寄存器的内容减去1,最后将结果送回原操作数单元。
操作数:累加器a,寄存器Rn,直接地址直接,寄存器间接寻址单元中的内容。
二:十进制调整指令(1条)
阿达单片机的十进制调整指令用于在添加BCD码时自动校正BCD码的加法结果,校正结果存储在a中。
BCD码:是二进制十进制数或二进制十进制码,用4位二进制数表示1位十进制数中从0到9的10位数字。
注意:
1.在BCD加法运算时,单片机会自动判断并纠正加法指令ADD或ADDC指令后接阿达指令。
2.减去BCD码时,不修正就不能用阿达指令,减法指令不适用。
3.影响PSW中的CY、AC和OV旗帜。(请看下图:标志寄存器的PSW功能图)
三:乘法指令(1条)
MUL AB单片机的乘法指令,其功能是实现两个8位无符号数的乘法。相乘的2个数分别存储在累加器A和寄存器B中,乘积结果为16位:低8位存储在A中,高8位存储在B中。
注意:
1.乘数和被乘数可以互换。
2:乘积结果大于255,PSW中溢出标志位OV设置为1,否则为0。
单片机标志寄存器PSW功能图
单片机指令示例:
02H和04H的乘法
MOV A,#02H
MOV B,#04H
MUL AB
执行指令结果:
甲:08H
乙:00H
OV:0
四:除法指令(1条)
DIV AB单片机的除法指令,功能是实现两个8位无符号数的除法,累加器A中的被除数,寄存器b中的除数,相除结果:商放在A,余数放在b。
注意:
单片机除法指令也会影响PSW中的CY和OV标志位。赛区之后,CY和OV都是0。(请看上图:标志寄存器PSW功能图)
单片机指令示例:
2和4的除法
MOV甲22号
MOV乙,04号
MUL AB
执行指令结果:
A:05H
B:02H
CY:0
OV:0
单片机乘除指令
至此,24条单片机算术运算指令的讲解完毕,感谢阅读!欢迎留言讨论,共同提高!