⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 align.html

📁 gcc手册
💻 HTML
字号:
<html lang="en">

<head>

<title>Using as</title>

<meta http-equiv="Content-Type" content="text/html">

<meta name="description" content="Using as">

<meta name="generator" content="makeinfo 4.3">

<link href="http://www.gnu.org/software/texinfo/" rel="generator-home">

</head>

<body>

<div class="node">

<p>

Node:<a name="Align">Align</a>,

Next:<a rel="next" accesskey="n" href="Ascii.html#Ascii">Ascii</a>,

Previous:<a rel="previous" accesskey="p" href="ABORT.html#ABORT">ABORT</a>,

Up:<a rel="up" accesskey="u" href="Pseudo-Ops.html#Pseudo%20Ops">Pseudo Ops</a>

<hr><br>

</div>



<h3 class="section"><code>.align </code><var>abs-expr</var><code>, </code><var>abs-expr</var><code>, </code><var>abs-expr</var><code></code></h3>



   <p>Pad the location counter (in the current subsection) to a particular storage

boundary.  The first expression (which must be absolute) is the alignment

required, as described below.



   <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>The way the required alignment is specified varies from system to system. 

For the a29k, hppa, m68k, m88k, w65, sparc, and Hitachi SH, and i386 using ELF

format,

the first expression is the

alignment request in bytes.  For example <code>.align 8</code> 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>For other systems, including the i386 using a.out format, and the arm and

strongarm, it is the

number of low-order zero bits the location counter must have after

advancement.  For example <code>.align 3</code> advances the location

counter until it a multiple of 8.  If the location counter is already a

multiple of 8, no change is needed.



   <p>This inconsistency is due to the different behaviors of the various

native assemblers for these systems which GAS must emulate. 

GAS also provides <code>.balign</code> and <code>.p2align</code> directives,

described later, which have a consistent behavior across all

architectures (but are specific to GAS).



   </body></html>



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -