EEE C415: DIGITAL SIGNAL PROCESSING Lecture 11
Instruction Set of TMS320C54x
Last Session • Addressing Modes • Instruction set
05 February 2009
EEE C415 / Shikha Tripathi
2
Today’s Session • Instruction Set Cont.. • Assembler Directives • Example programs
05 February 2009
EEE C415 / Shikha Tripathi
3
Multiply & Accumulate
05 February 2009
EEE C415 / Shikha Tripathi
4
• MACD Smem, pmad, src
MACD *AR3-, COEFFS, A 05 February 2009
EEE C415 / Shikha Tripathi
5
• MACP Smem, pmad, src
MACP 05 February 2009
*AR3-, COEFFS, A EEE C415 / Shikha Tripathi
6
Others… • • • • • •
MAX & MIN SQUR SQURA SQURS SQDST ABDST
05 February 2009
EEE C415 / Shikha Tripathi
7
SAT • Regardless of OVM value,Saturate of the contents of ACC. • If MSB = 0: ¾ACC = 00 7FFF FFFF
• If MSB = 1: ¾ACC = FF 8000 0000
• Eg: ¾SAT A ¾SAT B
05 February 2009
EEE C415 / Shikha Tripathi
8
NORM • • • •
Single cycle normalization after EXP Shift value defined in TREG(5:0) Signed number (2s complement) Eg:
05 February 2009
EEE C415 / Shikha Tripathi
9
Store
05 February 2009
EEE C415 / Shikha Tripathi
10
Others (Logical) • • • • • •
AND OR XOR CMPL NEG CMPR
05 February 2009
EEE C415 / Shikha Tripathi
11
Others.. • Rotate & Shift – ROL – ROLTC – ROR
- SFTA - SFTC - SFTL
• Branch, Call & Return – B[D], BACC[D], BANZ[D], BC[D] – CALA, CALL, CC – RET, RC, RETE
05 February 2009
EEE C415 / Shikha Tripathi
12
• Repeat Instructions – RPT – RPTB – RPTZ
• Instructions for bit manipulations (BITT) • NOP, MAR, RESET, INTR, IDLE, TRAP
05 February 2009
EEE C415 / Shikha Tripathi
13
Assembler Directives .word ;Intialise one or more 16-bit integers. Also, .half, .int, .short .bes size_in_bits ; Reserve size bits in current section, label points to the last addressable word in the reserved space .space n ; Reserve n bits in current section, label points to the first addressable word in the reserved space .copy “filename” ; Include source statements from another file. Also .include “filename”
Assembler Directives Cont… .equ ;Equate value with a symbol also, .set .mmregs ;Permits the memory map registers to be referred using the name such as AR0, SP,DP… .text ;Start assembling into program memory area .data ;Start assembling into data memory area .end ;End program
Program structure • Assembler directive • Label • Mnemonic field • Operand list • Comment
05 February 2009
EEE C415 / Shikha Tripathi
16
A simple program • WAP to add 2nos stored in locations 1000h and 1100h. Store the end result in location 1250h.
05 February 2009
EEE C415 / Shikha Tripathi
17
Program .mmregs .text stm stm stm
#1000h,ar2 #1100h,ar3 #1250h,ar4
ld add sth
#0h,a *ar2,*ar3,a a,*ar4
.end
;Result stored in AH
Next Session • Example Programs – Vector Addition – Convolution using MACD
05 February 2009
EEE C415 / Shikha Tripathi
19
Thank You
05 February 2009
EEE C415 / Shikha Tripathi
20