单片机C51汇编语言 怎么区分 汇编语言中出现的 数 和 地址

(R1)=20H,观察下列指令执行的结果MOV@R1,#40H;(20H)=40H关于上面这个问题我有几个疑问R1=20H,这个20H,是数还是地址;这条指令是将立即数4... (R1)=20H,观察下列指令执行的结果
MOV @R1,#40H ;(20H)=40H
关于上面这个问题 我有几个疑问 R1=20H ,这个20H,是数还是地址; 这条指令是将立即数40送到20H这个地址中,如果这样理解的话,那么20H就不是数,20H是地址。 如果他是地址那么 R1里面可以存地址是吗,这样R1既可以存数又可以存地址,要怎样区别地址和数。如果20H 是数的话,那20H有怎么可以存40这个数呢, 请高手帮我啊,我的理解哪里错了
展开
 我来答
xfish_xie
2010-11-09
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
1、(R1)=20H 不是一条指令,而只是一种说明,表明R1寄存器中的内容是20H。这个20H是地址还是数据,与这个说明无关。

2、在指令 MOV @R1,#40H 中,@R1 是间接寻址方式,表明R1中的内容是地址,指令的功能表明是将立即数40H传送到R1指定的地址中。

3、在指令中容易混淆的是立即数与直接地址,立即数的特征是有一个前缀#,直接地址没有这个前缀。
abeitt
2010-11-09 · TA获得超过152个赞
知道答主
回答量:66
采纳率:0%
帮助的人:62万
展开全部
R1只是表示一个存储空间,里面放的是数 还是地址 是由你说的算的,用@R就表示是R中存放的是地址地址。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vgrt33
2010-11-10 · TA获得超过279个赞
知道答主
回答量:533
采纳率:0%
帮助的人:261万
展开全部
c51是基于c语言的,两者的区别就是c语言和汇编语言的区别,所以c51更易学,只要有对应单片机的头文件,兼容性没问题的,建议你学c51吧,现在学汇编的已经不多了,学好了c51前途很光明的。你可以去下载keil c51编程开发环境,不大,里面有大部分单片机的头文件,很不错,我现在也学单片机,就在摸索它呢
请参考
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式