MSP430 Microcontroller Basics

The chapter describes the central processing unit (CPU) of the MSP430 and its most closely associated modules, the clock generator and reset circuitry.
The earlier parts of the chapter, which cover the CPU and its instruction set, will be of most interest to assembly language programmers. On the other hand, it is helpful to be acquainted with this material for several reasons. Foremost is debugging. Also, many of the examples in TI's application notes are written in assembly language. In any case the MSP430 is not complicated. The CPU has only 27 instructions, most of which can use all appropriate addressing modes (up to 7). Its large number of general-purpose registers can hold many variables and addresses so there is less use of the stack, which can be confusing.
We first take a closer look at the CPU, filling in the details skipped in the section "Central Processing Unit" on page 30. As usual I concentrate on the original MSP430 and leave the MSP430X to Chapter 11.
I repeat the sketch of the registers in Figure 5.1 for convenience. There are four special-purpose and 12 general-purpose registers, all of which can be addressed in the same ways. Let us look at these in detail.
This contains the address of the next instruction to be executed "points to" the instruction in the usual jargon. Instructions are composed of 1 3 words, which must be aligned to...