A.4.6. Concat_Register

You can define a concatenated register that is built up using specific bits from other registers. Concatenated registers are usually used only for memory mapping, but you can also use them for control and status. The recommended approach is to name two registers and then shift and mask them into the new register. If you want to concatenate parts from more than two registers, you can build them up in stages.

Concat_Register group settings

The Concat_Register group includes a base group called Default, but typically you create one or more named concatenated register groups. The group includes the following settings:

Low_name

Name of the register to be used as the source for the low part of the concatenated register.

This can be the name of another concatenated register.

Low_shift

Amount to shift the source register specified by Low_name.

Specify a negative value for left shift.

Low_mask

The mask to be applied to the source register specified by Low_name.

Note

The mask is applied after the shift operation.

High_name

Name of the register to be used as the source for the high part of the concatenated register.

This can be the name of another concatenated register.

High_shift

Amount to shift the source register specified by High_name.

Specify a negative value for left shift.

High_mask

The mask to be applied to the source register specified by High_name.

Note

The mask is applied after the shift operation.

Length

Length of the concatenated register, in memory units. The default is 4.

Type

An explicit type for the register. If you do not specify the type, the default is the signed scalar C type based on the register size.

Enum

Enumeration name to show values in the Registers view, derived from Register_enum group.

Gui_name

Optional name for showing in Registers view. If no name is specified here, then the concatenated register group name is displayed.

See also

Copyright © 2002-2011 ARM. All rights reserved.ARM DUI 0182N
Non-ConfidentialID052111