![](http://datasheet.mmic.net.cn/30000/MCF5272CVF66_datasheet_2373703/MCF5272CVF66_159.png)
MOTOROLA
Chapter 5. Debug Support
5-37
Processor Status, DDATA Denition
Note that the debug module requires the use of the internal bus to perform BDM
commands. In Revision A, if the processor is executing a tight loop that is contained within
a single aligned longword, the processor may never grant the internal bus to the debug
module, for example:
align4
label1: nop
bra.b label1
or
align4
label2: bra.w label2
The processor grants the internal bus if these loops are forced across two longwords.
5.7 Processor Status, DDATA Denition
This section species the ColdFire processor and debug module’s generation of the
processor status (PST) and debug data (DDATA) output on an instruction basis. In general,
the PST/DDATA output for an instruction is dened as follows:
PST = 0x1, {PST = [0x89B], DDATA= operand}
where the {...} denition is optional operand information dened by the setting of the CSR.
The CSR provides capabilities to display operands based on reference type (read, write, or
both). A PST value {0x8, 0x9, or 0xB} identies the size and presence of valid data to
follow on the DDATA output {1, 2, or 4 bytes}. Additionally, for certain change-of-ow
branch instructions, CSR[BTB] provides the capability to display the target instruction
address on the DDATA output {2, 3, or 4 bytes} using a PST value of {0x9, 0xA, or 0xB}.
5.7.1 User Instruction Set
Table 5-22 shows the PST/DDATA specication for user-mode instructions. Rn represents
any {Dn, An} register. In this denition, the ‘y’ sufx generally denotes the source and ‘x’
denotes the destination operand. For a given instruction, the optional operand data is
displayed only for those effective addresses referencing memory.The ‘DD’ nomenclature
refers to the DDATA outputs.
Table 5-22. PST/DDATA Specification for User-Mode Instructions
Instruction
Operand Syntax
PST/DDATA
add.l
<ea>y,Rx
PST = 0x1, {PST = 0xB, DD = source operand}
add.l
Dy,<ea>x
PST = 0x1, {PST = 0xB, DD = source}, {PST = 0xB, DD = destination}
addi.l
#imm,Dx
PST = 0x1
addq.l
#imm,<ea>x
PST = 0x1, {PST = 0xB, DD = source}, {PST = 0xB, DD = destination}
addx.l
Dy,Dx
PST = 0x1
and.l
<ea>y,Dx
PST = 0x1, {PST = 0xB, DD = source operand}