51单片机加1指令的应用方法解析

51单片机加1指令的应用方法解析,第1张

这5条指令的的功能均为原寄存器的内容加1,结果送回原寄存器。加1指令不会对任何标志有影响,如果原寄存器的内容为FFH,执行加1后,结果就会是00H。这组指令共有直接、寄存器、寄存器减间址等寻址方式:

51单片机加1指令的应用方法解析,51单片机加1指令的应用方法解析,第2张

INC A;(A)+1→(A) 累加器A中的内容加1,结果存在A中

INC data;(data)+1→(data) 直接地址单元中的内容加1,结果送回原地址单元中

INC @Ri;((Ri))+1→((Ri)) 寄存器的内容指向的地址单元中的内容加1,结果送回原地址单元中

INC Rn;(Rn)+1→(Rn)寄存器Rn的内容加1,结果送回原地址单元中

INC DPTR;(DPTR)+1→(DPTR)数据指针的内容加1,结果送回数据指针中

用途很简单,就是将后面目标中的值加1。

例:(A)=12H,(R0)=33H,(21H)=32H,(34H)=22H,DPTR=1234H。执行下面的指令;

INC A;(A)=13H

INC R0;(R0)=34H

INC 21H;(21H)=33H

INC @R0;(34H)=23H

INC DPTR;(DPTR)=1235H

这些指令执行后的结果都附在了指令的后面。

说明:从结果上看,INC A和ADD A,#1差不多,但INC A是单字节,单周期指令,而ADD A,#1则是双字节双周期指令,而且INC A不会影响PSW位,如(A)=0FFH,INC A后(A)=00H,而CY依然保持不变。如果是ADD A,#1,则(A)=00H,而CY一定是1。因此加1指令并不适合做加法运算,事实上它主要是用来做计数、地址增加等用途。另外,加法类指令都是以A为核心的,其中一个数必须放在A中,而运算结果也必须放在A中,而加1类指令的对象则广泛得多,可以是寄存器、内存地址、间址寻址的地址等等。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2592599.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-08
下一篇 2022-08-08

发表评论

登录后才能评论

评论列表(0条)

保存