MSP430编程:条件跳转、编程结构与数字I/O系统详解
1. 条件跳转指令
1.1 基于负数标志的跳转(Negative - Based Jumps)
- jn指令 :当状态寄存器中的负数标志N = 1时,“jn”(jump if negative)指令会改变程序计数器(PC)的值,使程序跳转到指定位置;若N = 0,则程序继续执行下一条指令。MSP430指令集中没有“not negative”的跳转指令,但可以利用逻辑推理来实现类似功能,即若结果不是负数,那它一定是正数。
1.2 基于溢出标志的跳转(Overflow - Based Jumps)
- jge和jl指令 :“jge”(jump if greater than or equal)和“jl”(jump if less than)指令可根据不等式进行跳转,同时会考虑二进制补码溢出情况。这两个指令会同时使用N标志和V标志,并假设操作数为有符号数。
- jge指令 :当(N ⊕ V = 0)时跳转。
- jl指令 :当(N ⊕ V = 1)时跳转。
指令 | 跳转条件 |
---|---|
jn | N = 1 |