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
完整的 MSP430 指令集包含 27 条核心指令和 24 条仿真指令。内核指令是具有唯一运行代码(由 CPU 解码)的指令。仿真指令是使代码更易于编写和阅读的指令,但其本身没有操作码,而是由汇编程序自动替换为等效的核心指令。使用仿真指令不会影响代码或性能。
共有三种核心指令格式:
通过使用 .B 或 .W 扩展名,所有单操作数指令和双操作数指令都可以是字节指令或字指令。字节指令可被用于访问字节数据或字节外设。字指令用于访问字数据或字外设。如果不使用扩展名,则指令是字指令。
一个指令的源和目的由以下字段定义:
src |
源操作数由 As 和 S-reg 定义 |
dst |
目的操作数由 Ad 和 D-seg 段定义 |
As | 负责用于源 (src) 的寻址模式的寻址位 |
S-reg |
针对源 (src) 的工作寄存器 |
Ad | 负责用于目标 (dst) 的寻址模式的寻址位 |
D-reg | 用于目标 (dst) 的工作寄存器 |
B/W | 字节或字操作: 0:字操作 1:字节操作 |
目的地址
在存储器映射的任一位置目的地址有效。不过,在使用修改目标内容的指令时,用户必须确保目标地址是可写的。例如,掩膜 ROM 位置是有效的目标地址,但内容不可修改,因此指令的结果会丢失。