Processor Status, DDATA Definition

29.7 Processor Status, DDATA Definition

This section specifies 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 defined as follows:

PST = 0x1, {PST = [0x89B], DDATA= operand}

where the {...} definition is optional operand information defined 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} identifies the size and presence of valid data to follow on the DDATA output {1, 2, or 4 bytes}. Additionally, for certain change-of-flow 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}.

29.7.1 User Instruction Set

Table 29-22shows the PST/DDATA specification for user-mode instructions. Rn represents any {Dn, An} register. In this definition, the ‘y’ suffix 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 29-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}

 

 

 

and.l

Dy,<ea>x

PST = 0x1, {PST = 0xB, DD = source}, {PST = 0xB, DD = destination}

 

 

 

andi.l

#imm,Dx

PST = 0x1

 

 

 

asl.l

{Dy,#imm},Dx

PST = 0x1

 

 

 

asr.l

{Dy,#imm},Dx

PST = 0x1

 

 

 

bitrev.l

Dx

PST = 0x1

 

 

 

byterev.l

Dx

PST = 0x1

 

 

 

bcc.{b,w}

 

if taken, then PST = 0x5, else PST = 0x1

 

 

 

bchg

#imm,<ea>x

PST = 0x1, {PST = 0x8, DD = source}, {PST = 0x8, DD = destination}

 

 

 

bchg

Dy,<ea>x

PST = 0x1, {PST = 0x8, DD = source}, {PST = 0x8, DD = destination}

 

 

 

29-40

MCF5282 User’s Manual

MOTOROLA

Page 712
Image 712
Motorola MCF5282, MCF5281 user manual Processor Status, Ddata Definition, User Instruction Set, Instruction Operand Syntax