ASR AX,#1...16
6-53
ASR AX,#1...16
Arithmetic Shift Right
SYNTAX OPTIONS
OPCODE
OBJMODE
RPT
CYC
ASR AX,#1...16
1111 1111 101A SHFT
X
−
1
Operands
AX
Accumulator high (AH) or accumulator low (AL) register
1
0
16
Shift value
Description
Perform an arithmetic right shift on the content of the specified AX register (AH
or AL) by the amount given in the “shift value” field. During the shift, the value
is sign extended and the last bit to be shifted out of the AX register is stored in
the carry status flag bit:
SIGN
C
AX
AX
Discard
other bits
Right shift
(Immediate value)
Last bit out
Flags and
Modes
N
After the shift, if bit 15 of AX is 1 then the negative flag bit is set; otherwise it is
cleared.
Z
After the shift, if AX is 0, then the Z bit is set; otherwise it is cleared.
C
The last bit to be shifted out of AH or AL is stored in C.
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: VarC = (VarA + VarB) >> 2
MOV AL,@VarA
; Load AL with contents of VarA
ADD AL,@VarB
; Add to AL contents of VarB
ASR AL,#2
; Scale result by 2
MOV @VarC,AL
; Store result in VarC
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...