
单片机指令问题 MOVX A,@R3 这个指令错了吗?针对51
5个回答
意法半导体(中国)投资有限公司
2023-06-12
展开全部
@只能用R0。。R1滴
追问
大侠 可以告诉我为什么吗?
----------------------------
回答:这是规定。
计算机的机器指令(汇编指令与此对应)是与硬件有关的,也就是说这条指令在计算机内部其实是由硬件电路实现的,当某种计算机(CPU)设计好后,电路就不变了,对应的指令系统也就不变了。
51单片机当初设计硬件时就是由R0,R1和DPTR来实现对片外RAM的访问的。
追问
大侠 可以告诉我为什么吗?
----------------------------
回答:这是规定。
计算机的机器指令(汇编指令与此对应)是与硬件有关的,也就是说这条指令在计算机内部其实是由硬件电路实现的,当某种计算机(CPU)设计好后,电路就不变了,对应的指令系统也就不变了。
51单片机当初设计硬件时就是由R0,R1和DPTR来实现对片外RAM的访问的。

2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
对于51单片机而言
R0到R7这8个寄存器可以用作寄存器寻址 MOV A ,R0~R7
但是对与R0和R1这两个寄存器除了能够实现寄存器寻址外,还可以进行寄存器间接寻址
MOV A , @R0~R1
我估计这个是51单片机在设计的时候就规定了的,没有为什么...
我估计你也不知道什么是寄存器寻址和寄存器间接寻址,看下面:
1 寄存器寻址
若 R0=0x1234
MOV A,R0
则是将R0的值给予了A
此时A=0x1234
2 寄存器间接寻址
若R0=0x1234
若[0x1234]这个内存地址指向值0x2345
MOV A,@R0
则是将0x2345给予了A
此时A=0x2345
51是16位还是8位单片机来着?
R0到R7这8个寄存器可以用作寄存器寻址 MOV A ,R0~R7
但是对与R0和R1这两个寄存器除了能够实现寄存器寻址外,还可以进行寄存器间接寻址
MOV A , @R0~R1
我估计这个是51单片机在设计的时候就规定了的,没有为什么...
我估计你也不知道什么是寄存器寻址和寄存器间接寻址,看下面:
1 寄存器寻址
若 R0=0x1234
MOV A,R0
则是将R0的值给予了A
此时A=0x1234
2 寄存器间接寻址
若R0=0x1234
若[0x1234]这个内存地址指向值0x2345
MOV A,@R0
则是将0x2345给予了A
此时A=0x2345
51是16位还是8位单片机来着?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有@R3,只有@R0,@R1.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单片机指令 可以用
MOVX A,@R0 ; MOVX A,@R3(@R2-@R7 不是合法指令)
MOVX A,@R1 ;
MOVX A,@R0 ; MOVX A,@R3(@R2-@R7 不是合法指令)
MOVX A,@R1 ;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@只能用R0。。R1滴
追问
大侠 可以告诉我为什么吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询