Asr, Lsl, Lsr, Ror, And Rrx - ST STM32F4 Series Programming Manual

Cortex-m4
Hide thumbs Also See for STM32F4 Series:
Table of Contents

Advertisement

PM0214
Condition flags
If S is specified, these instructions:
Update the N and Z flags according to the result.
Can update the C flag during the calculation of operand2, see
on page
Do not affect the V flag.
Examples
AND R9, R2,#0xFF00
ORREQ R2, R0, R5
ANDS R9, R8, #0x19
EORS R7, R11, #0x18181818
BIC R0, R1, #0xab
ORN R7, R11, R14, ROR #4
ORNS R7, R11, R14, ASR #32
3.5.3

ASR, LSL, LSR, ROR, and RRX

Arithmetic Shift Right, Logical Shift Left, Logical Shift Right, Rotate Right, and Rotate Right
with Extend.
Syntax
op{S}{cond} Rd, Rm, Rs
op{S}{cond} Rd, Rm, #n
RRX{S}{cond} Rd, Rm
Where:
'op' is one of the following:
ASR: Arithmetic Shift Right
LSL: Logical Shift Left
LSR: Logical Shift Right
ROR: Rotate Right
'S' is an optional suffix. If S is specified, the condition code flags are updated on the
result of the operation, see
'Rd' is the destination register.
'Rm' is the register holding the value to be shifted.
'Rs' is the register holding the shift length to apply to the value Rm. Only the least
significant byte is used and can be in the range 0 to 255.
'n' is the shift length. The range of shift lengths depends on the instruction as follows:
ASR: Shift length from 1 to 32
LSL: Shift length from 0 to 31
LSR: Shift length from 1 to 32
ROR: Shift length from 1 to 31
Note:
MOVS Rd, Rm is the preferred syntax for LSLS Rd, Rm, #0.
59.
Conditional execution on page
DocID022708 Rev 6
The STM32 Cortex-M4 instruction set
Flexible second operand
64.
85/260
259

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the STM32F4 Series and is the answer not in the manual?

Questions and answers

This manual is also suitable for:

Stm32l4+ seriesStm32f3 series

Table of Contents

Save PDF