
51单片机直接寻址和位寻址区别?
例如:MOVA,00H和MOVC,00H,前者是将RAM中地址为00H的8位内容传递给A,后者是将位寻址区(20H-2FH)中的地址为00H的1位内容传递给C。这两个00...
例如:MOV A,00H和MOV C,00H,前者是将RAM中地址为00H的8位内容传递给A,后者是将位寻址区(20H-2FH)中的地址为00H的1位内容传递给C。这两个00H不是在同一个地址,可以这样理解么?
展开
3个回答
推荐于2017-09-30 · 知道合伙人教育行家
关注

展开全部
直接寻址,是把数据直接写入当前地址,或者把当前地址的内容读出如:MOV A,90H,就是把地址90H中的内容写入到寄存器A中。位寻址是位操作命令,写入和读出的是一个位bit变量。如:MOV C,7AH,就是把地址7AH中的内容写入位变量C,而内容只能是0、1.MOV C,2FH.2,就是把地址2FH中的第2位的内容写入到C变量。内容只能是0、1.一个字节由8位组成。
例如:MOV A,00H和MOV C,00H,前者是将RAM中地址为00H的8位内容传递给A,后者是将位寻址区(20H-2FH)中的地址为00H的1位内容传递给C。这两个00H不是在同一个地址,
例如:MOV A,00H和MOV C,00H,前者是将RAM中地址为00H的8位内容传递给A,后者是将位寻址区(20H-2FH)中的地址为00H的1位内容传递给C。这两个00H不是在同一个地址,

2023-06-12 广告
你应该学过数字电路吧,单片机的内存空间(RAM)相当于一个寄存器阵列,给其中的寄存器编号,就是地址,寻址就是沿着这个编号取对应寄存器中存储的数据。 MOV A,30H;直接寻址,把地址(编号)30H对应的寄存器单元中的数据传递给A寄存器。 ...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
你的理解是正确的。楼上说错了,不该加#号,否则那就成立即数寻址了。虽然都是mov开头的指令,但是其后面跟的操作数不同,其寻址方式也是不一样的,编译器在编译的时候能区别出来的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个写法是错误的。第一,你没有#号,第二也没有【】号,直接这样写是错误的。 你的那个理解也是错误的,寄存器的地址是唯一的,不能有俩个相同的地址。
追问
您好。对于MOV A 00H ,实际上是直接寻址方式,加上#号之后变成了立即寻址方式了。我的意思是直接寻址方式的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询