Byte-align block diagram, Register contents for example 10 – Intel NETWORK PROCESSOR IXP2800 User Manual

Page 44

Advertising
background image

44

Hardware Reference Manual

Intel

®

IXP2800 Network Processor

Technical Description

Example 10

shows a big-endian align sequence of instructions and the value of the various

operands.

Table 7

shows the data in the registers for this example. The value in

BYTE_INDEX[1:0] CSR (which controls the shift amount) for this example is 2.

Figure 6. Byte-Align Block Diagram

A9353-01

Prev_A

Byte_Index

Result

B_Operand

A_Operand

Prev_B

. . .

. . .

Shift

Table 7. Register Contents for Example 10

Register

Byte 3

[31:24]

Byte 2

[23:16]

Byte 1

[15:8]

Byte 0

[7:0]

0

0

1

2

3

1

4

5

6

7

2

8

9

A

B

3

C

D

E

F

Example 10. Big-Endian Align

Instruction

Prev B

A Operand

B Operand

Result

Byte_align_be[--, r0]

--

--

0123

--

Byte_align_be[dest1, r1]

0123

0123

4567

2345

Byte_align_be[dest2, r2]

4567

4567

89AB

6789

Byte_align_be[dest3, r3]

89AB

89AB

CDEF

ABCD

NOTE: A Operand comes from Prev_B register during byte_align_be instructions.

Advertising