21.21 DCQ and DCQU
DCQ directive allocates one or more eight-byte blocks of memory, aligned on four-byte boundaries, and defines the initial runtime contents of the memory.
DCQU is the same, except that the memory alignment is arbitrary.
is a 64-bit numeric literal.
The range of numbers permitted is 0 to 264–1.
In addition to the characters normally permitted in a numericliteral, you can prefix
witha minus sign. In this case, the range of numbers permitted is –263 to–1.
The result of specifying
-isthe same as the result of specifying 264–
A numeric expression.
A PC-relative expression.
Notearmasm accepts expressions in
DCQUdirectives only when you are assembling for AArch64 targets.
DCQ inserts up to three bytes of padding before the first defined eight-byte block, if necessary, to achieve four-byte alignment.
DCQU if you do not require alignment.
AREA MiscData, DATA, READWRITEdata DCQ -225,2_101 ; 2_101 means binary 101.
number EQU 2 ; This code assembles for AArch64 targets only. DCQU number ; For AArch32 targets, DCQ and DCQU only accept ; literals, not expressions.