Introduction

4.1 Introduction

In this chapter each MSP50P614/MSP50C614 class of instructions is explained in detail with examples and restrictions. Most instructions can individually address bits, bytes, words or strings of words or bytes. Usable program memory is 30K by 17-bit wide and the entire 17-bits are used for instruction set encoding. The execution of programs can only be executed from internal program memory. Usable program memory starts from location 800h. The data memory is 640 by 17-bits of static RAM, 16 bits of which are an arithmetic value. The 17th bit is used for flags or tags.

4.2 System Registers

A functional description of each system register is described below.

4.2.1Multiplier Register (MR)

The multiplier uses this 16-bit register to multiply with the multiplicand. MOV instructions are used to load the MR register. The multiplicand is usually the operand of the multiply instructions. All multiply, multiply-accumulate instructions, and filter instructions (FIR, FIRK, COR and CORK) use the MR register (see Section 4.11 for detail).

4.2.2Shift Value Register (SV)

The shift value register is 4-bits wide. For barrel shift instructions, the multiplier operand decodes a 4-bit value in the shift value register (SV) to a 16-bit value. For example, a value of 7H in the SV register is decoded to a multiplier operand of 0000000010000000 binary. In effect, this causes a left shift of 7 bits to in the final 32-bit product. In other words, a nonzero value, say k (0 k 15), in the SV register means padding k number of zeros to the right of the final result.

4.2.3Data Pointer Register (DP)

The data pointer register (DP) is a 16-bit register that is used to point to a program memory location for various look up table instructions. DP is not directly loaded by the user, It is loaded during the execution of lookup instructions overwriting the previous content of the DP register. Lookup instructions are described in detail in Section 4.9. The DP register auto- increments the next logical program memory location after the execution of a lookup instruction. In addition to lookup instructions, the filter instructions FIRK and CORK (see Section 4.11 for detail) use the DP pointer to look up filter coefficients. It may be required to context save and restore the DP in interrupt service routines.

4.2.4Program Counter (PC)

The program counter (PC) holds the program memory location to be used for the next instruction’s execution. It increments (by 1 for single word instructions

4-2

Page 88
Image 88
Texas Instruments MSP50C6xx manual Introduction, System Registers