ZHCU032K December 2004 – August 2022 MSP430AFE221 , MSP430AFE222 , MSP430AFE223 , MSP430AFE231 , MSP430AFE232 , MSP430AFE233 , MSP430AFE251 , MSP430AFE252 , MSP430AFE253 , MSP430F2001 , MSP430F2002 , MSP430F2003 , MSP430F2011 , MSP430F2012 , MSP430F2013 , MSP430F2101 , MSP430F2111 , MSP430F2112 , MSP430F2121 , MSP430F2122 , MSP430F2131 , MSP430F2132 , MSP430F2132-EP , MSP430F2232 , MSP430F2234 , MSP430F2252 , MSP430F2252-Q1 , MSP430F2254 , MSP430F2272 , MSP430F2272-Q1 , MSP430F2274 , MSP430F2274-EP , MSP430F233 , MSP430F2330 , MSP430F235 , MSP430F2350 , MSP430F2370 , MSP430F2410 , MSP430F2416 , MSP430F2417 , MSP430F2418 , MSP430F2419 , MSP430F247 , MSP430F2471 , MSP430F248 , MSP430F2481 , MSP430F249 , MSP430F2491 , MSP430F2616 , MSP430F2617 , MSP430F2618 , MSP430F2619 , MSP430G2001 , MSP430G2101 , MSP430G2102 , MSP430G2111 , MSP430G2112 , MSP430G2121 , MSP430G2131 , MSP430G2132 , MSP430G2152 , MSP430G2153 , MSP430G2201 , MSP430G2201-Q1 , MSP430G2202 , MSP430G2203 , MSP430G2210 , MSP430G2211 , MSP430G2212 , MSP430G2213 , MSP430G2221 , MSP430G2230 , MSP430G2231 , MSP430G2231-Q1 , MSP430G2232 , MSP430G2233 , MSP430G2252 , MSP430G2253 , MSP430G2302 , MSP430G2303 , MSP430G2312 , MSP430G2313 , MSP430G2332 , MSP430G2333 , MSP430G2352 , MSP430G2353 , MSP430G2402 , MSP430G2403 , MSP430G2412 , MSP430G2413 , MSP430G2432 , MSP430G2433 , MSP430G2444 , MSP430G2452 , MSP430G2453 , MSP430G2513 , MSP430G2533 , MSP430G2544 , MSP430G2553 , MSP430G2744 , MSP430G2755 , MSP430G2855 , MSP430G2955 , MSP430TCH5E
* BRA | 跳转到目标 | ||
语法 | BRA dst | ||
运行 | dst→PC | ||
仿真 | MOVA dst,PC | ||
说明 | 一个无条件分支指令被完全地址空间内任何位置的 20 位地址可使用所有七个源寻址模式。分支指令是一个地址字指令。如果目标地址包含在存储器位置 X 中,则会包含在两个升序字中:X (LSB) 和 (X + 2) (MSB)。 | ||
状态位 | N: | 不受影响 | |
Z: | 不受影响 | ||
C: | 不受影响 | ||
V: | 不受影响 | ||
模式位 | OSCOFF,CPUOFF 和 GIE 不受影响。 | ||
示例 | 给出了针对所有寻址模式的示例。 | ||
立即模式:跳转到位于 20 位地址空间中任何位置的标签 EDE 或直接跳转到地址。 |
BRA #EDE ; MOVA #imm20,PC
BRA #01AA04h
符号模式:跳转到地址 EXEC (LSB) 和 EXEC+2 (MSB) 中包含的 20 位地址。EXEC 位于地址 (PC+X) 上,其中 X 在 +32K 内。间接寻址。 |
BRA EXEC ; MOVA z16(PC),PC
注意:如果 16 位索引不够用,则可以使用 20 位索引和以下指令。 |
MOVX.A EXEC,PC ; 1M byte range with 20-bit index
绝对模式:跳转到绝对地址 EXEC (LSB) 和 EXEC+2 (MSB) 中包含的 20 位地址。间接寻址 |
BRA &EXEC ; MOVA &abs20,PC
寄存器模式:跳转到寄存器 R5 中包含的 20 位地址。间接 R5。 |
BRA R5 ; MOVA R5,PC
间接模式:跳转到寄存器 R5 (LSB) 指向的字中包含的 20 位地址。MSB 具有地址 (R5+2)。间接,间接 R5。 |
BRA @R5 ; MOVA @R5,PC
间接自动递增模式:跳转到寄存器 R5 指向的字中包含的 20 位地址并且之后使 R5 中的地址递增 4。下次 S/W 使用 R5 作为一个指针,访问由 R5 指向表中的下一个字地址使得它能够改变程序执行。间接,间接 R5。 |
BRA @R5+ ; MOVA @R5+,PC.R5 + 4
已索引模式:跳转到寄存器 (R5 + X) 指向的地址中包含的 20 位地址(例如带有从 X 开始的地址的表)。(R5+X) 指向 LSB,(R5+X+2) 指向地址的 MSB。X 在 R5+32 内。间接,间接 (R5+X)。 |
BRA X(R5) ; MOVA z16(R5),PC
注意:如果 16 位索引不够用,则可以使用 20 位索引 X 和以下指令: |
MOVX.A X(R5),PC ; 1M byte range with 20-bit index