4.34. 4.34 Aligning Fields Within a Record

To achieve maximum performance in your programs, or to ensure that HLA's records properly map to records or structures in some high level language, you will often need to be able to control the alignment of fields within a record. For example, you might want to ensure that a double word field's offset is an even multiple of four. You use the align directive to do this, the same way you would use align in the static declaration section of your program. The following example shows how to align some fields on important boundaries:

type
     PaddedRecord:
          record
               c:char;
               align(4);
               d:dword;
               b:boolean;
               align(2);
               w:word;
          endrecord;

Whenever HLA encounters the align directive within a record declaration, it automatically ...

Get Art of Assembly Language, 1st Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.