MSP430 数据移动指令寻址模式详解
1. 概念检查与寄存器模式寻址
首先来看一个概念检查问题:当使用寄存器模式寻址执行指令,且指令目的仅为在 CPU 寄存器间移动数据时,执行过程中是否会访问内存?
- 选项 A :是。尽管寄存器模式寻址仅在 CPU 内移动数据,但每条指令至少需访问一次内存以获取操作码。
- 选项 B :否。无需访问内存,因为数据仅在 CPU 内移动。答案是 A。
寄存器模式寻址使用 CPU 寄存器名作为源和/或目标,例如 PC、R4、R5 等。这种模式简单直接,主要用于在 CPU 内部的寄存器之间进行数据的移动。
2. 立即数模式寻址(#N)
立即数模式寻址中,源操作数是一个数值常量。由于操作数中的数字可能被解释为常量或地址,因此需要一种方式来表明该数字的用途。在立即数模式下,在数字前加 # 表示它将作为常量使用。
例如,以下指令:
mov.w #3711h, R8
此指令将立即数 3711h 移动到寄存器 R8 中。
不过,立即数模式只能用于源字段,不能用于目标字段。因为将一个数值常量移动到另一个数值常量没有意义,源操作数中的立即数常量并非任何类型的存储元素,而是作为操作码的一部分嵌入程序内存中。
概念检查:立即数模式寻址能否用于目标?
- 选项 A :是。所有寻址模式都支持源和目标。
-
超级会员免费看
订阅专栏 解锁全文
28

被折叠的 条评论
为什么被折叠?



