MSP430数据操作指令详解
1. 学习目标
在深入了解MSP430的数据操作指令之前,我们先明确学习这些指令后能够达成的目标:
1. 运用算术指令在CPU内处理数据,并解释状态标志如何改变。
2. 运用逻辑指令在CPU内处理数据,并解释状态标志如何改变。
3. 运用位设置和位清除指令设置和清除操作数中的单个位。
4. 运用测试指令从状态位确定操作数的相关信息。
5. 解释算术旋转和带进位旋转指令的操作。
2. 算术指令
算术逻辑单元(ALU)可看作是一组组合逻辑电路,每个电路都能对来自CPU寄存器的数据执行所需操作。在设计CPU时,每增加一个所需操作,就会在ALU中插入一个新电路。尽管会尽力优化ALU中的逻辑量,但从概念上讲,使用ALU的指令可视为访问独立的电路。ALU的输出未经过寄存器,因此其输出必须放回CPU寄存器或内存中。ALU的一个关键特性是它有监测操作并生成状态标志(或状态位)的电路,这些标志存回CPU的状态寄存器,后续指令可能会使用。状态标志包括二进制补码溢出(V)、负数(N)、零(Z)和进位(C),当条件满足时,每个标志都会被置位。进位标志在减法运算时也可表示借位。
2.1 加法指令
- ADD指令 :ADD指令对两个输入(src和dst)执行二进制加法,并将和放回dst中(即src + dst → dst),同时更新四个状态标志。该操作可通过追加.w或.b对8位和16位字执行,无论src或dst被视为无符号数还是有符号数,操作方式相同。
- ADDC指令 :AD
超级会员免费看
订阅专栏 解锁全文
20

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



