×
单片机 > 单片机程序设计 > 详情

51单片机一些指令注意事项

发布时间:2020-05-27 发布时间:
|
1,当使用push 指令时,如push acc

这个时候,51完成操作是:sp+1->sp,(acc)->(sp),      也就是sp指向的地址中一定是有数据的

由此可推出当执行pop acc时,应该是:

(sp)->(acc),sp-1->sp

 

2使用jc,jnc,jb,jnb;还有jz,jnz的区别

jc    rel   ;进位标志位为1则转移

jnc   rel   ;进位标志位位0则转移

 

jb    bit,rel      ;直接寻址位为1则转移

jnb  bit,rel      ;直接寻址位为0则转移

 

jz     rel   ;累加器为0则转移

jnz   rel   ;累加器为1则转移

 

从上面的指令中你可以看出,前两个符合标准,也就是加上n后,是为0则转移,不加n就是为1则转移

而最后一组,则是对累加器a来说的,也就是刚好和上面的反一下

 

3,4种寻址方式:

一:寄存器寻址方式

       mov a,rn

二:直接寻址方式

       mov a,40h

三:计算器间接寻址方式

       mov a,@r1

      

       但是注意一点:以寄存器间接地址为目的操作数的指令:

       mov @rn,a;其中的前一项必须为r0-r7(即使是a也不行)

 

四:立即数寻址方式

       mov a,#40

五:基址计算器加变址寄存器间接寻址方式

       movc      a,@a+dptr

      指令只有3条:

       movc      a,@a+dptr

       movc      a,@a+pc

       jmp a,@a+dptr

六:位寻址方式

       mov c,40h

七:相对寻址方式:



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil(MDK-ARM)系列教程(七)_菜单