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
如果 CPU 寄存器 Rn 指向低 64KB 存储器范围中的一个地址,在添加了 CPU 寄存器 Rn 和符号化的 16 位索引后,计算得出的存储器地址位 19:16 被清零。这意味着计算得出的地址一直位于低 64KB 存储器中,并且不会从低 64KB 存储器空间中上溢或者下溢。RAM 和外设寄存器可用这个方法进行访问并且如图 4-15所示,在无需修改的情况下现有的 MSP430 软件可用。
长度: | 两个或者三个字 |
运行: | 符号化的 16 位索引位于此指令后的下一个字中并且被添加到 CPU 寄存器 Rn 中。得出的位 19:16 被清零,从而给出了一个缩短了的 16 位存储器地址,此地址指向范围 00000h 至 0FFFFh 内的一个操作数地址。此操作数是已寻址存储器位置的内容。 |
注释: | 对于源和目的有效。汇编程序计算寄存器索引并将其插入。 |
示例: | ADD.B 1000h(R5),0F000h(R6); |
这条指令加上 包含在源字节 1000h(R5) 和目的字节 0F000h(R6) 中的 8 位数据并且将结果防止在目的字节中。由于寄存器 R5 和 R6 中被清零的位 19:16,源和目的字节都位于低 64KB 位置中。 | |
源: | 在截断为一个 16 位地址后,R5 指向的字节 + 1000h 得到地址 0479Ch+1000h=0579Ch。 |
目标: | 在截断为一个 16 位地址后,R6 指向的字节 + F000h 得到地址 01778h+F000h= 00778h。 |