0% found this document useful (0 votes)
85 views30 pages

EEE C415: Digital Signal Processing: Addressing Modes of TMS320C54x

This document summarizes a lecture on addressing modes and instruction sets for the TMS320C54x digital signal processor. It discusses various addressing modes like immediate, absolute, accumulator, direct, indirect, memory-mapped register, and stack addressing. It also covers arithmetic instructions like addition, subtraction, and multiplication. Indirect addressing uses address registers and can implement circular or bit-reversed addressing. Memory-mapped registers are used to modify registers without affecting other registers. The next session will continue covering the instruction set and introduce assembler directives and simple programs.

Uploaded by

vipulugale
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
85 views30 pages

EEE C415: Digital Signal Processing: Addressing Modes of TMS320C54x

This document summarizes a lecture on addressing modes and instruction sets for the TMS320C54x digital signal processor. It discusses various addressing modes like immediate, absolute, accumulator, direct, indirect, memory-mapped register, and stack addressing. It also covers arithmetic instructions like addition, subtraction, and multiplication. Indirect addressing uses address registers and can implement circular or bit-reversed addressing. Memory-mapped registers are used to modify registers without affecting other registers. The next session will continue covering the instruction set and introduce assembler directives and simple programs.

Uploaded by

vipulugale
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 30

EEE C415:

DIGITAL SIGNAL
PROCESSING

Lecture 10

Addressing Modes of TMS320C54x


Last Session
¾Addressing Modes of c54x

29 January 2009 EEE C415 / Shikha Tripathi 2


Today’s Session
• Addressing Modes cont…
• Instruction set

29 January 2009 EEE C415 / Shikha Tripathi 3


Data Addressing modes

9Immediate Addressing
9Absolute Addressing
9Accumulator Addressing
9Direct Addressing
• Indirect Addressing
• Memory-Mapped Register Addressing
• Stack Addressing

29 January 2009 EEE C415 / Shikha Tripathi 4


Indirect Addressing
• Uses 8 ARs; AR0-AR7
• Used to step-through sequential locations in
mem in fixed-size steps
• AR modified by:
• Increment / Decrement
• Offset
• Index
• Special modes:
9Circular addressing
• Bit-reserved addressing

29 January 2009 EEE C415 / Shikha Tripathi 5


Bit reversed addressing
• Enhances the execution speed for FFT
algorithm
• AR0 specifies one-half the size of FFT
(2N-1) where N is integer (2N : size of FFT)
• To generate address, add AR0 to any AR
which is pointing to a data value in bit
reversed fashion.
• Carry propagates from left to right

29 January 2009 EEE C415 / Shikha Tripathi 6


Example

29 January 2009 EEE C415 / Shikha Tripathi 7


Memory mapped register addressing
• Modifies MMRs without affecting DP and SP
• In addition to registers any scratch-pad RAM on
Data Page 0 can be modified
• 2 modes
¾Direct: forces 9 MSBs of Dmem to 0
¾Indirect: uses 7 LSBs of current AR
¾If AR1 point to MMR & it contains FF25h,then AR1
point to Time Period register(PRD) whose address is
25h (7 LSBs of FF25h).After execution AR1=25h.
• Example
¾LDM MMR ,dst (direct)
¾STM #lk,*arx (indirect)
29 January 2009 EEE C415 / Shikha Tripathi 8
Example 1 LDM AR4, A ;Direct
Before execution After execution
A 00 0000 1111 A 00 0000 FFFF

AR4 FFFF AR4 FFFF

Example 2 LDM 060h, B ;Direct

Before execution After execution


B 00 0000 0000 B 00 0000 1234

Data Memory 0060h 1234 0060h 1234

29 January 2009 EEE C415 / Shikha Tripathi 9


Example 1 STM #FFFF,IMR ;Direct

Before execution After execution


IMR FF01 IMR FFFF

Example 2 STM #8765,*Ar7+ ;Indirect

Before execution After execution


AR0 0000 AR0 8765

AR7 8010 AR7 0011

29 January 2009 EEE C415 / Shikha Tripathi 10


CPU MMRs (Table 10.3)
29 January 2009 EEE C415 / Shikha Tripathi 12
Some MMR addr mode Instructions

29 January 2009 EEE C415 / Shikha Tripathi 13


29 January 2009 EEE C415 / Shikha Tripathi 14
Stack Addressing
• System Stack: store PC when interrupt /
subroutine
• To pass data values.
• SP points to the last element stored onto the
stack

29 January 2009 EEE C415 / Shikha Tripathi 15


PSHD X2

( )
( ) ( )

• FRAME ???
• INTR ???
• TRAP ???

29 January 2009 EEE C415 / Shikha Tripathi 16


BUS Operations
• 16-bit read: D bus
• 16-bit write: E bus
• 32-bit read: C:D Bus (Msword : Lsword)
• 32-bit write: ?????
• For 32-bit data, present address is Msword
• Msword even / odd address??
¾Even:Big Endian
¾Odd: Little endian

29 January 2009 EEE C415 / Shikha Tripathi 17


Instruction set
• Arithmetic operations

• Logical operations

• Load and store operations

• Program control operations

• Special operations

29 January 2009 EEE C415 / Shikha Tripathi 18


Arithmetic operation

• Absolute value

• Addition

• Subtraction

• Multiplication

29 January 2009 EEE C415 / Shikha Tripathi 19


Absolute
• ABS src, [dst]
• Absolute value of Accumulator
• Ex:
ABS A, B

• SRC -> DST/ SRC if DST is not specified.


• OVM affects the result
• C & OV dst flags are affected.
Example

29 January 2009 EEE C415 / Shikha Tripathi 21


Addition

29 January 2009 EEE C415 / Shikha Tripathi 22


Examples
• ADD *AR2+, 12, A ;(category 3)

• ADD B, -5, A ;(category 9)

• ADD #2345h, 7, B ;(category 8)

29 January 2009 EEE C415 / Shikha Tripathi 23


Subtraction

29 January 2009 EEE C415 / Shikha Tripathi 24


Example
• SUB *AR1+, 14, A

• SUB A, -8, B

• SUB #2345h, 8, A, B

29 January 2009 EEE C415 / Shikha Tripathi 25


Explore Others…
• ADDC *+AR2 (5), A

• ADDM #123Bh, *AR4+

• ADDS *AR2-, B

• SUBB *AR1+, B

• SUBS *AR2-, B
• SUBC ???
– Used for division

29 January 2009 EEE C415 / Shikha Tripathi 26


Multiply

MPYR Rounds the result of multiplication by adding 215 to the result &
then clearing bits 15-0.
29 January 2009 EEE C415 / Shikha Tripathi 27
Example
• MPY 13, A
• MPY #FFFEh, A

• MPYR 0, B ; DP=004h
Next Session
• Instruction set cont..
• Assembler directives
• Simple programs

29 January 2009 EEE C415 / Shikha Tripathi 29


Thank You

29 January 2009 EEE C415 / Shikha Tripathi 30

You might also like