
dsPIC30F
DS70025D-page 8
Advance Information
2001 Microchip Technology Inc.
A sign extend (SE) instruction is provided to allow
users to translate 8-bit signed data to16-bit signed val-
ues. Alternatively, for 16-bit unsigned data, users can
clear the MS-byte of any W register though executing a
CLR.b instruction on the appropriate address. (All CPU
core registers are memory mapped into data space).
Although most instructions are capable of operating on
word or byte data sizes, it should be noted that the DSP
and some other new instructions operate on words
only.
1.3
Program Address Space
The program address space is 4M long words. It is
addressable by a 22-bit value from either the PC, table
instruction EA or data space EA when program space
is mapped into data space as defined by Table 1-1.
Note that the program space address is incremented
by two between successive program words in order to
provide compatibility with data space addressing. Con-
sequently, the LS-bit of the program space address is
always 0, resulting in 22 bits of address. Program
space data accesses use the LS-bit of the program
space address as a byte select (same as data space)
TABLE 1-1:
PROGRAM SPACE ADDRESS
CONSTRUCTION
The program memory width is 24 bits (long word). To
support data storage and FLASH programming, the
array must support both word wide access from bits 0-
15 and byte wide access from bits 16-23.
See Figure 1-5 and Figure 1-6 for program space
addressing conventions.
FIGURE 1-5:
INSTRUCTION FETCH EXAMPLE
Access Type
Program Space Address
[22:16]
[15]
[14:1]
[0]
Instruction Access
TBLRD/TBLWT
PC[22:1]
0
TABPAG[6:
0]
DSPPAG[7:0]
Data EA [15:0]
DS Window into
PS
Data EA
[14:0]
PC22
PC0
PROGRAM COUNTER
0
0x000000
0x7FFFFE
24-bits
P
Instruction
22
+1
(see note)
Note
: Increment of PC<22:1> is equivalent to PC<22:0>+2
24
22
User
Space
I