Assembler Directives - DC


DC - The DC directive instructs the assembler to place the following values into memory at the current location. The directive has three forms DC.B for byte data, DC.W for word (16-bit) data, and DC.L for long (32-bit) data. The Define Constant directive should not be confused with declaring a constant in C++.

Usage:
[label] DC.size data,data,...

For example:

       ORG    $1000              start of the data region
depart DC.B   'depart.wav',0     stores as a NULL terminated string in consecutive bytes
       DC.L   $01234567          the value $01234567 is stored as a long word
       DC.W   1,2                two words are stored as $0001 and $0002
       DC.L   1,2                two long words are stored as $00000001 and $00000002

The 68000 microprocessor requires that word and long word numbers be stored in even memory addresses. The assembler will adjust the memory locations accordingly. Beginning with the 68020 and later versions of the 68000 this word boundary restriction was removed.

The result of the above code would be:

00001000  64 65 70 61 72 74 2E 77 61 76 00
0000100C  01234567
00001010  0001 0002
00001014  00000001 00000002