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

控制/MCU

1879人已加入

描述

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

51单片机

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类指令的对象则广泛得多,可以是寄存器、内存地址、间址寻址的地址等等。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分