微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机一些指令注意事项

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

时间:11-18 来源:互联网 点击:
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的区别

jcrel;进位标志位为1则转移

jncrel;进位标志位位0则转移

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

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

jzrel;累加器为0则转移

jnzrel;累加器为1则转移

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

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

3,4种寻址方式:

一:寄存器寻址方式

mova,rn

二:直接寻址方式

mova,40h

三:计算器间接寻址方式

mova,@r1

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

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

四:立即数寻址方式

mova,#40

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

movca,@a+dptr

指令只有3条:

movca,@a+dptr

movca,@a+pc

jmpa,@a+dptr

六:位寻址方式

movc,40h

七:相对寻址方式:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top