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
RRAM.A | 算术右旋 20 位 CPU 内容 | ||
RRAM.[W] | 算术右旋 16 位 CPU 内容 | ||
语法 | RRAM.A #n,Rdst | 1≤n≤4 | |
RRAM.W #n,Rdst 或 RRAM #n,Rdst | 1≤n≤4 | ||
操作 | MSB→MSB→MSB-1→ ...LSB+1→LSB→C | ||
说明 | 如图 4-46所示,目的操作数被用算术的方法右移 1,2,3 或 4 个位位置。MSB 保持其值(符号)。BRAM 的运行与一个带符号的 2/4/8/16 除法等效。MSB 被保持并且被移入 MSB-1。LSB+1 被移入 LSB,而 LSB 被移入进位位 C。字指令 RRAM.W 清零位 Rdst.19:16。 | ||
注意:该指令不使用扩展字。 | |||
状态位 | N: | 如果结果为负则置 1 | |
.A:Rdst.19 = 1,如果 Rdst.19 = 0,则复位 | |||
.W:Rdst.15 = 1,如果 Rdst.15 = 0,则复位 | |||
Z: | 如果结果为零则置 1,否则复位 | ||
C: | 从 LSB (n=1),LSB+1 (n=2),LSB+2 (n=3),或 LSB+3 (n=4) 载入 | ||
V: | 复位 | ||
模式位 | OSCOFF,CPUOFF 和 GIE 不受影响。 | ||
示例 | R5 中带符号的 20 位数被用算术的方法向右移位两个位置。 |
RRAM.A #2,R5 ; R5/4 -> R5
示例 | R15 中的有符号 20 位值乘以 0.75。(0.5+0.25)×R15。 |
PUSHM.A #1,R15 ; Save extended R15 on stack
RRAM.A #1,R15 ; R15 y 0.5 -> R15
ADDX.A @SP+,R15 ; R15 y 0.5 + R15 = 1.5 y R15 -> R15
RRAM.A #1,R15 ; (1.5 y R15) y 0.5 = 0.75 y R15 -> R15