程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

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

balukai 2025-02-17 11:12:41 文章精选 8 ℃


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

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


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

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中。

直接寻址

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

MOV A,56H

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

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

?

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

Tags:

猜你喜欢

最近发表
标签列表