@ifset ELF
@node 2byte
+@section @code{.2byte @var{expression} [, @var{expression}]*}
@cindex @code{2byte} directive
@cindex two-byte integer
@cindex integer, 2-byte
-@section @code{.2byte @var{expression} [, @var{expression}]*}
-This directive @code{.2byte}, which is available for ELF targets, expects zero
-or more expressions, separated by commas. Each expression is assembled into the
-next two bytes.
+This directive expects zero or more expressions, separated by commas. If there
+are no expressions then the directive does nothing. Otherwise each expression
+is evaluated in turn and placed in the next two bytes of the current output
+section, using the endian model of the target. If an expression will not fit
+in two bytes, a warning message is displayed and the least significant two
+bytes of the expression's value are used. If an expression cannot be evaluated
+at assembly time then relocations will be generated in order to compute the
+value at link time.
+
+This directive does not apply any alignment before or after inserting the
+values. As a result of this, if relocations are generated, they may be
+different from those used for inserting values with a guaranteed alignment.
+
+This directive is only available for ELF targets,
@node 4byte
+@section @code{.4byte @var{expression} [, @var{expression}]*}
@cindex @code{4byte} directive
@cindex four-byte integer
@cindex integer, 4-byte
-@section @code{.4byte @var{expression} [, @var{expression}]*}
-This directive @code{.4byte}, which is available for ELF targets, expects zero
-or more expressions, separated by commas. Each expression is assembled into the
-next four bytes.
+Like the @option{.2byte} directive, except that it inserts unaligned, four byte
+long values into the output.
@node 8byte
+@section @code{.8byte @var{expression} [, @var{expression}]*}
@cindex @code{8byte} directive
@cindex eight-byte integer
@cindex integer, 8-byte
-@section @code{.8byte @var{expression} [, @var{expression}]*}
-This directive @code{.8byte}, which is available for ELF targets, expects zero
-or more bignums, separated by commas. For each bignum, it emits
-an 8-byte integer. If the bignum won't fit in 8 bytes, it prints a
-warning message; and just takes the lowest order 8 bytes of the bignum.
+Like the @option{.8byte} directive, except that it inserts unaligned, eight
+byte long bignum values into the output.
+
@end ifset
@node Deprecated
@ifset VISIUM
* Visium-Dependent:: Visium Dependent Features
@end ifset
+@ifset WASM32
+* WebAssembly-Dependent:: WebAssembly Dependent Features
+@end ifset
@ifset XGATE
-* XGATE-Dependent:: XGATE Features
+* XGATE-Dependent:: XGATE Dependent Features
@end ifset
@ifset XSTORMY16
* XSTORMY16-Dependent:: XStormy16 Dependent Features
@include c-visium.texi
@end ifset
+@ifset WASM32
+@include c-wasm32.texi
+@end ifset
+
@ifset XGATE
@include c-xgate.texi
@end ifset