DCI directive allocates memory that is aligned and defines the initial runtime contents of the memory.
In A32 code, it allocates one or more words of memory, aligned on four-byte boundaries.
In T32 code, it allocates one or more halfwords of memory, aligned on two-byte boundaries.
- is a numeric expression.
- if present, indicates that four bytes must be insertedin T32 code.
DCI directive is very like the
DCW directives,but the location is marked as code instead of data. Use
DCI whenwriting macros for new instructions not supported by the versionof the assembler you are using.
In A32 code,
DCI inserts up to threebytes of padding before the first defined word, if necessary, toachieve four-byte alignment. In T32 code,
DCI insertsan initial byte of padding, if necessary, to achieve two-byte alignment.
You can use
DCI to insert a bit patterninto the instruction stream. For example, use:
to insert the T32 operation
MACRO ; this macro translates newinstr Rd,Rm ; to the appropriate machine code newinst $Rd,$Rm DCI 0xe16f0f10 :OR: ($Rd:SHL:12) :OR: $Rm MEND
32-bit T32 example
DCI.W 0xf3af8000 ; inserts 32-bit NOP, 2-byte aligned.