About The Instruction Descriptions; Operands; Restrictions When Using Pc Or Sp; Flexible Second Operand - ST STM32H7 Series Programming Manual

Hide thumbs Also See for STM32H7 Series:
Table of Contents

Advertisement

The STM32 Cortex-M4 instruction set
3.3

About the instruction descriptions

The following sections give more information about using the instructions:
Operands on page 60
Restrictions when using PC or SP on page 60
Flexible second operand on page 60
Shift operations on page 62
Address alignment on page 65
PC-relative expressions on page 65
Conditional execution on page 65
Instruction width selection on page 68
3.3.1

Operands

An instruction operand can be an Arm register, a constant, or another instruction-specific
parameter. Instructions act on the operands and often store the result in a destination
register. When there is a destination register in the instruction, it is usually specified before
the operands.
Operands in some instructions are flexible in that they can either be a register or a constant
(see
Flexible second
3.3.2

Restrictions when using PC or SP

Many instructions have restrictions on whether you can use the program counter (PC) or
stack pointer (SP) for the operands or destination register. See instruction descriptions for
more information.
Bit[0] of any address written to the PC with a BX, BLX, LDM, LDR, or POP instruction must
be 1 for correct execution, because this bit indicates the required instruction set, and the
Cortex-M4 processor only supports thumb instructions.
3.3.3

Flexible second operand

Many general data processing instructions have a flexible second operand. This is shown
as operand2 in the description of the syntax of each instruction.
Operand2 can be a:
Constant
Register with optional shift
60/262
operand).
PM0214 Rev 9
PM0214

Hide quick links:

Advertisement

Table of Contents
loading
Need help?

Need help?

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

Questions and answers

Table of Contents

Save PDF