指令系统和寻址方式(1).ppt
- 格式:ppt
- 大小:1.62 MB
- 文档页数:213
单片机指令系统-第1讲寻址方式单片机指令系统第 1 讲寻址方式在单片机的世界里,指令系统就像是它的“语言规则”,而寻址方式则是这门语言中至关重要的一部分。
简单来说,寻址方式决定了单片机如何找到它需要操作的数据或指令的位置。
让我们先来了解一下什么是寻址。
当单片机执行一条指令时,它需要知道从哪里获取操作数,这个确定操作数位置的过程就是寻址。
就好像你要在书架上找一本书,你得知道它在哪个架子、哪一层,这就是寻址的概念。
常见的寻址方式有很多种,下面我们来一一探讨。
第一种是立即寻址。
在立即寻址方式中,操作数直接包含在指令中。
比如说,指令“MOV A, 50H”,这里的“50H”就是一个立即数,单片机直接使用这个数值进行操作。
这种方式的优点是简单直接,执行速度快,因为操作数就在指令里面,不需要再去别的地方找。
接下来是直接寻址。
直接寻址是指指令中直接给出操作数所在的内部数据存储器地址。
例如,“MOV A, 30H”,这里的“30H”就是内部数据存储器的一个地址,单片机通过这个地址就能找到对应的操作数。
直接寻址方式可以访问片内 RAM 的低 128 个字节和特殊功能寄存器。
然后是寄存器寻址。
这种方式下,操作数存放在寄存器中。
比如“MOV A, R0”,操作数就在寄存器 R0 里面。
由于寄存器的访问速度通常比内存快,所以寄存器寻址方式能够提高指令的执行效率。
寄存器间接寻址也很常见。
在这种方式中,操作数的地址存放在寄存器中。
以“MOV A, @R0”为例,单片机先从寄存器 R0 中取得操作数的地址,然后再根据这个地址去获取操作数。
这种方式可以访问片内RAM 的 00H FFH 地址空间。
变址寻址则稍微复杂一些。
它通过基址寄存器和变址寄存器的内容相加来得到操作数的地址。
比如说,在 8051 单片机中,“MOVC A, @A +DPTR”就是变址寻址的一个例子。
这种方式常用于访问程序存储器中的数据表格。
相对寻址主要用于跳转指令。