数据存储方式_寻找要操作数据的存储地址的过程称为寻址,几种寻址的方式分享...

70e0ffc6be58f1aa8a8634a41b1590d4.png

单片机工作时,在程序指令的控制下,对数据进行各种操作(如存取数据、对数据进行运算等),然后输出控制信号。指令要对数据进行操作,必须先找到操作的数据,数据存放在存储器中,只有找到要操作数据的存储地址,才能对该存储地址中的数据进行操作。

寻找要操作数据的存储地址的过程称为寻址。单片机常用的寻址方式有7种:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址

1f3b28d10e9790f258a7844fb4386e4a.png

立即寻址是在指令中直接给出要操作的数据(而不是数据的存放地址),这个数据称为立即数,为了表示该数值是一个数据而不是地址,要在该数值前加“#”号。例如:

MOV A,#0FFH

MOV A,#65H

MOV DPTR,#1234H

第1条指令的含义是:将数据0FFH(即11111111)送到累加器A中。

第2条指令的含义是:将数据65H(即01100101)送到累加器A中。

第3条指令的含义是:将数据1234H(即0001001000110100)送到数据指针寄存器(DPTR)中,其中12H送到DPTR的高8位寄存器DPH中,34H送到DPTR的低8位寄存器DPL中。

直接寻址

6dc1c859ec94cef14214155d39637beb.png

直接寻址是在指令的操作码后给出数据存放的地址,指令可以操作该地址存放的数据。例如:

MOV A,56H

这条指令的含义是将56H单元中的数据送到累加器A中。

如果56H单元中的数据为01101001,如图所示,执行该条指令后,56H单元中的数据会送到累加器A中,累加器A中的数据也为01101001,而之前存放的数据会消失。

直接寻址方式可以访问存储器的 30H~7FH 单元(即数据缓冲区)、21 个位地址单元和特殊功能寄存器(SFR),而且特殊功能寄存器只能用直接寻址方式访问。 篇幅有限,下期我们再继续分享其他几种!感谢大家关注转发!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值