The ARM arithmetic logic unit has a 32-bit barrel shifter
that is capable of shift and rotate operations. The second operand
to many ARM and Thumb data-processing and single register data-transfer
instructions can be shifted, before the data-processing or data-transfer
is executed, as part of the instruction. This supports, but is not
limited to:
scaled
addressing
multiplication by an immediate value
constructing immediate values.
32-bit Thumb instructions give almost the same access to the
barrel shifter as ARM instructions.
The 16-bit Thumb instructions only allow access to the barrel
shifter using separate instructions.
This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.
ARM websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.