当前课程知识点:单片机原理及应用 > 3 指令系统 > 3.3 寄存器寻址与寄存器间接寻址 > 寄存器寻址与寄存器间接寻址
同学
你好
今天我们继续来看一看指令的寻址方式
我们前面说过
所谓寻址方式指的是在指令中
如何去寻找相关的操作数
前面我们已经介绍了两种寻址方式
分别是立即数寻址方式和直接寻址方式
今天我们来看一下第三种寻址方式
叫做寄存器寻址方式
该方式是在指令中给出了寄存器的名字
实际操作数就在该寄存器中
比如我们看指令MOV A , R0中
A和R0都是寄存器寻址方式
对应操作数都在相应名字的寄存器中存放
该指令的功能就是把工作寄存器R0中的
八位操作数送给累加器A
这就是寄存器寻址方式
下面我们再来看一看第四种寻址方式
该种方式叫做寄存器间接寻址方式
该方式真正的操作数并不是在寄存器中
而是在存储器中
指令中给出的寄存器里面存放的是
操作数所在存储单元的地址
该种寻址方式在寄存器的名字前面
要加一个@符号
比如我们看这条指令
MOV A , @ R0中
由于R0前面有一个@
就表示这种寻址方式是寄存器间接寻址
那么真正的操作数
并不是在这个工作寄存器R0中
真正的操作数是在RAM单元中
工作寄存器R0里存放的是
操作数所在RAM单元的地址
我们看图中假定一个存储器里面
存储器50H地址对应的单元存放的数据是38H
51H这个地址对应的单元里面
存放的是67H
当我们执行完指令MOV A , @ R0后
由于@R0是寄存器的间接寻址
我们首先R0里面在执行指令之前
如果累加器A里面内容是30H
而R0里面的内容如果是50H
那么地址50H里面大约内容如图所示
存放的是38H
当执行完这条指令之后
由于 @ R0是寄存器的间接寻址
所以首先找到R0里面的内容是50H
但注意一下50H是一个地址
从这个地址找到对应的存储单元
50单元里面内容放的是38H
就要把38H的内容取出来送给累加器A
所以当该条指令执行完之后
累加器A里面的内容就由原来的30H
变成了38H
R0里面内容还是不变
依然是50H
50H这个地址
所对应的存储器单元的内容也不变
依然还是38H
今天我们介绍了两种寻址方式
一种是寄存器寻址
一种是寄存器的间接寻址
请同学们一定要注意区别
这两种不同的寻址方式
寄存器寻址方式指的是操作数就在寄存器里面
而寄存器间接寻址
操作数并不在寄存器里面
而是在存储器的单元里面
我们需要通过寄存器里面存放的地址
通过这个地址找到对应的存储单元
再把单元里面的数据取出来
因此寄存器间接寻址的前面
要加一个@
好的
今天的课就到这里
同学们再见
-1.1 单片机的名称
--单片机的名称
-1.2 单片机的相关概念
--单片机的相关概念
-1.3 单片机的设计语言及软件
-1.4 单片机的发展
--单片机的发展
-1.5单片机的应用
--单片机的应用
-1.6 第一单元作业
-2.1 单片机的结构框图
--单片机的结构框图
-2.2 80C51内部结构
-2.3 信号引脚
--信号引脚
-2.4 内部数据存储器RAM
-2.5 特殊功能寄存器
--特殊功能寄存器
-2.6 堆栈
--堆栈
-2.7 内部程序存储器ROM
-2.8 存储器的结构特点
--存储器的结构特点
-2.9 并行输入输出接口电路
-2.10 并口功能与时序
--并口功能与时序
-2.11 工作方式
--工作方式
-2.12 最小应用系统
-- 最小应用系统
-2.13 第二单元作业
-3.1 指令格式
--指令格式
-3.2 立即寻址与直接寻址
-3.3 寄存器寻址与寄存器间接寻址
-3.4 变址间接寻址与位寻址
-3.5 内部RAM传送指令
-3.6 外部RAM传送指令
-3.7 ROM传送指令
--ROM传送指令
-3.8 交换指令
--交换指令
-3.9 堆栈操作指令
--堆栈操作指令
-3.10 传送类指令习题讲解
-3.11 算术运算类指令特点
-3.12 加法指令
--加法指令
-3.13 加法习题、减法和乘除指令
-3.14 逻辑运算指令
--逻辑运算指令
-3.15 布尔变量操作指令
--布尔变量操作指令
-3.16 无条件转移指令
--无条件转移指令
-3.17 条件转移指令
--条件转移指令
-3.18 循环转移指令
--循环转移指令
-3.19 子程序相关指令
--子程序相关指令
-3.20 并口访问指令及指令小结
-3.21 第三单元作业
-4.1 汇编程序约定
--汇编程序约定
-4.2 宏指令
--宏指令
-4.3 汇编控制指令
--汇编控制指令
-4.4 汇编语言程序设计步骤
-4.5 顺序程序举例
-- 顺序程序举例
-4.6 单重分支结构
--单重分支结构
-4.7 多重分支结构
--多重分支结构
-4.8 单重循环结构
--单重循环结构
-4.9 计数控制循环程序
--计数控制循环程序
-4.10 特征控制循环程序
-- 特征控制循环程序
-4.11 多重循环程序
--多重循环程序
-4.12 子程序的概念
--子程序的概念
-4.13 子程序设计注意事项
-4.14 子程序举例
--子程序举例
-4.15 第四单元作业
-5.1 系统扩展
--系统扩展
-5.2 51单片机扩展方法
-5.3 存储器单元位数扩充方法
-5.4 存储器容量单元扩充方法
-5.5 译码线选法
--译码线选法
-5.6 程序存储器的类型
--程序存储器的类型
-5.7 程序存储器的扩展
--程序存储器的扩展
-5.8 数据存储器的扩展
--数据存储器的扩展
-5.9 存储器综合扩展
--存储器综合扩展
-5.10 单片机存储器系统的特点
-- 单片机存储器系统的特点
-5.11 第五单元作业
-6.1 中断技术
--中断技术
-6.2 中断优先级及中断系统内部结构
-6.3 中断控制寄存器及中断响应过程
-6.4 中断请求的撤消
--中断请求的撤消
-6.5 外部中断举例
--外部中断举例
-6.6 定时器/计数器
--定时器/计数器
-6.7 定时计数器工作方式及程序编写
-6.8 定时器举例
--定时器举例
-6.9 第六单元作业
-7.1 并行接口
-- 并行接口
-7.2 并口举例
--并口举例
-7.3 并口扩展芯片
--并口扩展芯片
-7.4 8155连接方式及编程
-7.5 键盘接口技术
--键盘接口技术
-7.6 按键处理程序及举例
-7.7 键盘扫描子程序
-- 键盘扫描子程序
-7.8 显示接口技术
--显示接口技术
-7.9 多位字符静态显示
--多位字符静态显示
-7.10 多位字符动态显示
--多位字符动态显示
-7.11 第七单元作业
-8.1 流水灯控制系统设计
--html
-8.2 数码管显示系统设计
--html
-8.3 按键控制系统设计
--html
-8.4 中断控制系统设计
--html
-8.5 定时计数器系统设计
--html
-8.6 串口通信系统设计
--html
-8.7 汉字显示系统设计
--html
-8.8 单片机烧录方法
--单片机烧录方法
-8.9 第八章作业-作业