MOV ACC,#16bit<<#0..15
6-157
MOV ACC,#16bit<<#0..15
Load Accumulator With Shift
SYNTAX OPTIONS
OPCODE
OBJMODE
RPT
CYC
MOV ACC,loc16<<#0..15
1111 1111 0010 SHFT
CCCC CCCC CCCC CCCC
X
−
1
Operands
ACC
Accumulator register
#16bit
16-bit immediate constant value
#0..15
Shift value (default is ”<< #0” if no value specified)
Description
Load the ACC register with the left shifted contents of the 16-bit immediate
value. The shifted value is sign extended if sign extension mode is turned on
(SXM = 1) else the shifted value is zero extended (SXM = 0). The lower bits of
the shifted value are zero filled:
if(SXM = 1) // sign extension mode enabled
ACC = S:16bit << shift value;
else // sign extension mode disabled
ACC = 0:16bit << shift value;
Flags and
N
After the load, the N flag is set if bit 31 of the ACC is 1, else N is cleared.
g
Modes
Z
After the load, the Z flag is set if the ACC value is zero, else Z is cleared.
SXM
If sign extension mode bit is set; then the 16-bit constant operand will be
sign extended before the load; else, the value will be zero extended.
Repeat
This instruction is not repeatable. If this instruction follows the RPT
instruction, it resets the repeat counter (RPTC) and executes only once.
Example
; Calculate signed value: ACC = −2010 << 10 + VarB << 6;
SETC SXM
; Turn sign extension mode on
MOV ACC,#−2010 << #10
; Load ACC with −2010 left shifted by 10
ADD ACC,@VarB << #6
; Add VarB left shifted by 6 to ACC
Summary of Contents for TMS320C28x
Page 30: ...1 12...
Page 80: ...This page intentionally left blank 2 50 This page intentionally left blank...
Page 269: ...IN loc16 PA 6 112 MOV AL 0 AL 0 UOUT IORegC AL IOspace IORegC AL 10...
Page 308: ...MAXCUL P loc32 6 151 Saturate MOVL Var64 2 ACC Store result into Var64 MOVL Var64 P...
Page 509: ...SUBL ACC P PM 6 352 SUBL ACC P PM ACC S B 11 M X 4 MOVH Y ACC 5 Store Q15 result into Y...
Page 585: ...This page intentionally left blank 7 32 This page intentionally left blank...