Download SPRU131 - Texas Instruments

Transcript
Program Counter (PC)
The XPC is a 7-bit register that selects the extended page of program memory
for the C548, C549, C5402, C5410, and C5420. For more information about
extended program memory in these devices, see section 3.2.5, Extended
Program Memory, on page 3-20.
The XPC can be loaded in several ways in conjunction with the loading of the
PC. Table 6–3 lists operations that load XPC.
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Table 6–3. Loading Addresses into XPC
Code Operation
Address Loaded to the PC
Reset
PC is loaded with FF80h. XPC is loaded with 0h.
Sequential execution
PC is loaded with PC + 1. XPC is not automatically
incremented.
Far branch
PC is loaded with bits 15–0 of the immediate value directly following the branch instruction. XPC is loaded bits
23–16 of that value.
Far branch from accumulator
PC is loaded with bits 15–0 of accumulator A or B. XPC
is loaded with bits 23–16 of accumulator A or B.
Far subroutine call
PC + 2 is pushed onto the stack, XPC is pushed onto the
stack, PC and XPC are loaded with bits 15–0 and bits
23–16, respectively, of the immediate value specified by
the call instruction.
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Far subroutine call from
accumulator
PC + 1 is pushed onto the stack, XPC is pushed onto the
stack, and the PC and XPC are loaded with bits 15–0
and bits 23–16, respectively, of accumulator A or B.
Far return
The return instruction pops the top of the stack into XPC
and pops the next value into the PC to return to the calling sequence of code.
Note:
The XPC is not loaded by instructions other than those listed in Table 6–3.
SPRU131G
Program Memory Addressing
6-5