Keil Logo

REGDEF Assembler Statement

Arguments
<[>name<]> REGDEF range <[>, ...<]>
Description

All sixteen of the XC16x/C16x/ST10 General Purpose Registers (GPRs) are mapped to on-chip RAM. This allows register context switching by setting the Context Pointer (CP) Register to point to a new register bank (which may be created using the REGDEF statement).

The REGDEF statement creates a register bank with an optional name and a range of registers used.

The range may be specified as:

Rm <[>-Rn<]> <[>, ...<]>

Where

Rm is the starting register (R0-R15).
Rn is the ending register (R0-R15) which must be greater than Rm.

The linker processes register banks as data sections located in internal RAM (0FA00h-0FDFFh).

Note

  • REGDEF has been implemented for compatiblity with other XC16x/C16x/ST10 development tools. When you create new applications you should use REGBANK instead.
See Also

REGBANK

Example
                      1  $SEGMENTED
                      2
                      3          BANK1   REGDEF R0-R15
                      4
--------              5  C100    SECTION CODE PUBLIC 'ROM1'
                      6  INIT    PROC    FAR
                      7  ASSUME  DPP3:   SYSTEM
00000000 E6030300     8          MOV     DPP3,#PAG CP
00000004 CC00         9          NOP
00000006 C608???? R  10          SCXT    CP,#BANK1   ; Switch context pointer
0000000A CC00        11          NOP                 ; Pipeline delay
0000000C E6FF3412    12          MOV     R15,#1234H  ; Access to GPR's now valid
00000010 DB00        13          RET
                     14  INIT    ENDP
--------             15  C100    ENDS
                     16
                     17  END
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.