VMS Help  —  MACRO  /ALPHA  Directives  .BLKx
    Block storage allocation directives

    Format

      .BLKA  [expression]

      .BLKB  [expression]

      .BLKD  [expression]

      .BLKF  [expression]

      .BLKG  [expression]

      .BLKL  [expression]

      .BLKO  [expression]

      .BLKQ  [expression]

      .BLKS  [expression]

      .BLKT  [expression]

      .BLKW  [expression]

1  –  Parameter

 expression

    An integer expression specifying the amount of storage to be
    allocated. All the symbols in the expression must be defined
    at the current point in the assembly and the expression must be
    an absolute expression. If the expression is omitted, a default
    value of 1 is assumed.

2  –  Description

    MACRO-64 has the following 11 block storage directives:

    DirectivReserves Storage for:  Bytes Allocated

    .BLKA   Addresses (quadwords)  8 * value of expression
    .BLKB   Byte data              Value of expression
    .BLKD   Double-precision       8 * value of expression
            floating-point data
            (quadwords)
    .BLKF   Single-precision       4 * value of expression
            floating-point data
            (longwords)
    .BLKG   G_floating data        8 * value of expression
            (quadwords)
    .BLKL   Longword data          4 * value of expression
    .BLKO   Octaword data          16 * value of expression
    .BLKQ   Quadword data          8 * value of expression
    .BLKS   S_floating data        4 * value of expression
            (longwords)
    .BLKT   T_floating data        8 * value of expression
            (quadwords)
    .BLKW   Word data              2 * value of expression

    Each directive reserves storage for a different data type. The
    value of the expression determines the number of data items for
    which MACRO-64 reserves storage. For example, .BLKL 4 reserves
    storage for 4 longwords of data and .BLKB 2 reserves storage for
    2 bytes of data. The total number of bytes reserved is equal to
    the length of the data type times the value of the expression.

3  –  Notes

    o  If automatic data alignment is enabled, the .BLKx directives
       align the current location counter to one of the alignments
       listed in the following table:

       DirectiAlignment

       .BLKA  Quadword (64-bit) boundary
       .BLKB  None
       .BLKD  Quadword (64-bit) boundary
       .BLKF  Longword (32-bit) boundary
       .BLKG  Quadword (64-bit) boundary
       .BLKL  Longword (32-bit) boundary
       .BLKO  Octaword (128-bit) boundary
       .BLKQ  Quadword (64-bit) boundary
       .BLKS  Longword (32-bit) boundary
       .BLKT  Quadword (64-bit) boundary
       .BLKW  Word (16-bit) boundary

    o  You can only use these directives within psects having either
       the NOEXE or MIX attributes.

4  –  Example

            .PSECT A,NOEXE
        B:: .BLKW  10             ; 10 words (20 bytes) of storage
            .BLKQ   5             ; 5 quadwords (40 bytes) of storage

            .BLKW                 ; 1 word (2 bytes) of storage
Close Help