hc
2023-11-06 15ade055295d13f95d49e3d99b09f3bbfb4a43e7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the GNU Assembler "as".
 
Copyright (C) 1991-2016 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.3
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".
 -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Using as: Directives-i960</title>
 
<meta name="description" content="Using as: Directives-i960">
<meta name="keywords" content="Using as: Directives-i960">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="i960_002dDependent.html#i960_002dDependent" rel="up" title="i960-Dependent">
<link href="Opcodes-for-i960.html#Opcodes-for-i960" rel="next" title="Opcodes for i960">
<link href="Floating-Point_002di960.html#Floating-Point_002di960" rel="prev" title="Floating Point-i960">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
 
 
</head>
 
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Directives_002di960"></a>
<div class="header">
<p>
Next: <a href="Opcodes-for-i960.html#Opcodes-for-i960" accesskey="n" rel="next">Opcodes for i960</a>, Previous: <a href="Floating-Point_002di960.html#Floating-Point_002di960" accesskey="p" rel="prev">Floating Point-i960</a>, Up: <a href="i960_002dDependent.html#i960_002dDependent" accesskey="u" rel="up">i960-Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="i960-Machine-Directives"></a>
<h4 class="subsection">9.17.3 i960 Machine Directives</h4>
 
<a name="index-machine-directives_002c-i960"></a>
<a name="index-i960-machine-directives"></a>
 
<dl compact="compact">
<dd><a name="index-bss-directive_002c-i960"></a>
</dd>
<dt><code>.bss <var>symbol</var>, <var>length</var>, <var>align</var></code></dt>
<dd><p>Reserve <var>length</var> bytes in the bss section for a local <var>symbol</var>,
aligned to the power of two specified by <var>align</var>.  <var>length</var> and
<var>align</var> must be positive absolute expressions.  This directive
differs from &lsquo;<samp>.lcomm</samp>&rsquo; only in that it permits you to specify
an alignment.  See <a href="Lcomm.html#Lcomm"><code>.lcomm</code></a>.
</p></dd>
</dl>
 
<dl compact="compact">
<dd><a name="index-extended-directive_002c-i960"></a>
</dd>
<dt><code>.extended <var>flonums</var></code></dt>
<dd><p><code>.extended</code> expects zero or more flonums, separated by commas; for
each flonum, &lsquo;<samp>.extended</samp>&rsquo; emits an <small>IEEE</small> extended-format (80-bit)
floating-point number.
</p>
<a name="index-leafproc-directive_002c-i960"></a>
</dd>
<dt><code>.leafproc <var>call-lab</var>, <var>bal-lab</var></code></dt>
<dd><p>You can use the &lsquo;<samp>.leafproc</samp>&rsquo; directive in conjunction with the
optimized <code>callj</code> instruction to enable faster calls of leaf
procedures.  If a procedure is known to call no other procedures, you
may define an entry point that skips procedure prolog code (and that does
not depend on system-supplied saved context), and declare it as the
<var>bal-lab</var> using &lsquo;<samp>.leafproc</samp>&rsquo;.  If the procedure also has an
entry point that goes through the normal prolog, you can specify that
entry point as <var>call-lab</var>.
</p>
<p>A &lsquo;<samp>.leafproc</samp>&rsquo; declaration is meant for use in conjunction with the
optimized call instruction &lsquo;<samp>callj</samp>&rsquo;; the directive records the data
needed later to choose between converting the &lsquo;<samp>callj</samp>&rsquo; into a
<code>bal</code> or a <code>call</code>.
</p>
<p><var>call-lab</var> is optional; if only one argument is present, or if the
two arguments are identical, the single argument is assumed to be the
<code>bal</code> entry point.
</p>
<a name="index-sysproc-directive_002c-i960"></a>
</dd>
<dt><code>.sysproc <var>name</var>, <var>index</var></code></dt>
<dd><p>The &lsquo;<samp>.sysproc</samp>&rsquo; directive defines a name for a system procedure.
After you define it using &lsquo;<samp>.sysproc</samp>&rsquo;, you can use <var>name</var> to
refer to the system procedure identified by <var>index</var> when calling
procedures with the optimized call instruction &lsquo;<samp>callj</samp>&rsquo;.
</p>
<p>Both arguments are required; <var>index</var> must be between 0 and 31
(inclusive).
</p></dd>
</dl>
 
<hr>
<div class="header">
<p>
Next: <a href="Opcodes-for-i960.html#Opcodes-for-i960" accesskey="n" rel="next">Opcodes for i960</a>, Previous: <a href="Floating-Point_002di960.html#Floating-Point_002di960" accesskey="p" rel="prev">Floating Point-i960</a>, Up: <a href="i960_002dDependent.html#i960_002dDependent" accesskey="u" rel="up">i960-Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
</div>
 
 
 
</body>
</html>