单片机中的寻址是什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/23 07:31:37
回答最好形象一点,看书上的立即寻址,直接寻址之类的,我都被搞晕了

你应该学过数字电路吧,单片机的内存空间(RAM)相当于一个寄存器阵列,给其中的寄存器编号,就是地址,寻址就是沿着这个编号取对应寄存器中存储的数据。
MOV A,30H;直接寻址,把地址(编号)30H对应的寄存器单元中的数据传递给A寄存器。
MOV A,#30H;立即寻址,把A寄存器直接写入数据30H。
MOV A,@R0;寄存器间接寻址,功能同“直接寻址”,只是R0可以改变,实现自动改变地址取数据的功能。

带“#”的数字是立即数,由计算机在执行当前立即寻址时产生,它不是由内存单元取出的,用完就没有了,所以叫“立即”,如果所有的操作都是内存单元到内存单元的操作,那内存单元怎么置数呢?所以就要用到立即数了。

不带任何符号的数字是地址,在命令当中根据此地址寻找地址所对应的内存单元中的数进行操作。

举个例子,这个例子是在看视频教程的时候看到的,比如有你的一封信,我告诉你这封信就在桌子上放着,桌子上也只有你的这一封信,那么你直接过去拿就可以了,这就是直接寻址;如果我告诉你你的信在桌子上的一个编号001的箱子里放着,那麽你要先找到这个箱子,然后去里面取出你的信,这就是间接寻址。大致意思就是这样的,这里的信比喻的就是数据或者指令,我也是初学者,我们一起加油啊!

寻址就是解决寻找操作数的问题

1.寄存器寻址 操作数在寄存器中
2.直接寻址 操作数在RAM中
3.立即数寻址 操作数是指令的一部分存放在
ROM中
4.寄存器间接寻址 操作数的地址存放在寄存
器中
5.变址寻址 相对寻址 位寻址 要复杂一点,但都是把操作数换了个地方存起来,以便用在不同的场合

就是寻找数据或者指令的存储地址。