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

这5条指令的的功能均为原寄存器的内容加1,结果送回原寄存器。加1指令不会对任何标志有影响,如果原寄存器的内容为ffh,执行加1后,结果就会是00h。这组指令共有直接、寄存器、寄存器减间址等寻址方式:
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类指令的对象则广泛得多,可以是寄存器、内存地址、间址寻址的地址等等。

人工智能是将处于黄金时代还是即将到来的新冬天
指纹锁的选购技巧
印刷电子技术将掀起智能穿戴应用革命
全球第三大智能手机操作系统Windows Phone将彻底退出市场
调控几何位点占据实现尖晶石钴氧化物高效析氧反应
51单片机加1指令的应用方法解析
华为Mate60开售 华为商城却登顶App Store购物榜首
顺序层压PCB的主要趋势和技术
激光切割头切勿选择劣质保护镜,后果很严重
线性电路叠加性和齐次性的研究
光纤激光器和固体激光器那个更适合你
AMB100-A智能母线监控装置 三相交流回路导轨安装
农药残毒快速检测仪的技术参数
从塞班/安卓/iOS看华为鸿蒙的未来
Arm的IPO估值目标为500亿至550亿美元
无线AP的原理和作用及网络故障解决方案
极景微发布超小封装PCIe5.0时钟发生器
志奋领科技已完成数千万元A轮融资
荣耀X40i采用直角边框和直屏设计
短路对锂离子电池的影响