<html lang="en"> <head> <title>Balign - Using as</title> <meta http-equiv="Content-Type" content="text/html"> <meta name="description" content="Using as"> <meta name="generator" content="makeinfo 4.7"> <link title="Top" rel="start" href="index.html#Top"> <link rel="up" href="Pseudo-Ops.html#Pseudo-Ops" title="Pseudo Ops"> <link rel="prev" href="Asciz.html#Asciz" title="Asciz"> <link rel="next" href="Byte.html#Byte" title="Byte"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- This file documents the GNU Assembler "as". Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002, 2006, 2007 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. man end--> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family: serif; font-weight: normal; } --></style> </head> <body> <div class="node"> <p> <a name="Balign"></a>Next: <a rel="next" accesskey="n" href="Byte.html#Byte">Byte</a>, Previous: <a rel="previous" accesskey="p" href="Asciz.html#Asciz">Asciz</a>, Up: <a rel="up" accesskey="u" href="Pseudo-Ops.html#Pseudo-Ops">Pseudo Ops</a> <hr><br> </div> <h3 class="section">7.6 <code>.balign[wl] </code><var>abs-expr</var><code>, </code><var>abs-expr</var><code>, </code><var>abs-expr</var></h3> <p><a name="index-padding-the-location-counter-given-number-of-bytes-282"></a><a name="index-_0040code_007bbalign_007d-directive-283"></a>Pad the location counter (in the current subsection) to a particular storage boundary. The first expression (which must be absolute) is the alignment request in bytes. For example <span class="samp">.balign 8</span> advances the location counter until it is a multiple of 8. If the location counter is already a multiple of 8, no change is needed. <p>The second expression (also absolute) gives the fill value to be stored in the padding bytes. It (and the comma) may be omitted. If it is omitted, the padding bytes are normally zero. However, on some systems, if the section is marked as containing code and the fill value is omitted, the space is filled with no-op instructions. <p>The third expression is also absolute, and is also optional. If it is present, it is the maximum number of bytes that should be skipped by this alignment directive. If doing the alignment would require skipping more bytes than the specified maximum, then the alignment is not done at all. You can omit the fill value (the second argument) entirely by simply using two commas after the required alignment; this can be useful if you want the alignment to be filled with no-op instructions when appropriate. <p><a name="index-_0040code_007bbalignw_007d-directive-284"></a><a name="index-_0040code_007bbalignl_007d-directive-285"></a>The <code>.balignw</code> and <code>.balignl</code> directives are variants of the <code>.balign</code> directive. The <code>.balignw</code> directive treats the fill pattern as a two byte word value. The <code>.balignl</code> directives treats the fill pattern as a four byte longword value. For example, <code>.balignw 4,0x368d</code> will align to a multiple of 4. If it skips two bytes, they will be filled in with the value 0x368d (the exact placement of the bytes depends upon the endianness of the processor). If it skips 1 or 3 bytes, the fill value is undefined. </body></html>