@c Copyright (C) 2014-2022 Free Software Foundation, Inc.
@c This is part of the GAS manual.
@c For copying conditions, see the file as.texinfo.
@c man end

@ifset GENERIC
@page
@node Visium-Dependent
@chapter Visium Dependent Features
@end ifset

@ifclear GENERIC
@node Machine Dependencies
@chapter Visium Dependent Features
@end ifclear

@cindex Visium support
@menu
* Visium Options::              Options
* Visium Syntax::               Syntax
* Visium Opcodes::              Opcodes
@end menu

@node Visium Options
@section Options
@cindex Visium options
@cindex options for Visium

The Visium assembler implements one machine-specific option:

@c man begin OPTIONS
@table @gcctabopt
@cindex @code{-mtune=@var{arch}} command-line option, Visium
@item -mtune=@var{arch}
This option specifies the target architecture.  If an attempt is made to
assemble an instruction that will not execute on the target architecture,
the assembler will issue an error message.

The following names are recognized:
@code{mcm24}
@code{mcm}
@code{gr5}
@code{gr6}
@end table
@c man end

@node Visium Syntax
@section Syntax

@menu
* Visium Characters::           Special Characters
* Visium Registers::            Register Names
@end menu

@node Visium Characters
@subsection Special Characters

@cindex line comment character, Visium
@cindex Visium line comment character
Line comments are introduced either by the @samp{!} character or by the
@samp{;} character appearing anywhere on a line.

A hash character (@samp{#}) as the first character on a line also
marks the start of a line comment, but in this case it could also be a
logical line number directive (@pxref{Comments}) or a preprocessor
control command (@pxref{Preprocessing}).

@cindex line separator, Visium
@cindex statement separator, Visium
@cindex Visium line separator
The Visium assembler does not currently support a line separator character.

@node Visium Registers
@subsection Register Names
@cindex Visium registers
@cindex register names, Visium
Registers can be specified either by using their canonical mnemonic names
or by using their alias if they have one, for example @samp{sp}.

@node Visium Opcodes
@section Opcodes
All the standard opcodes of the architecture are implemented, along with the
following three pseudo-instructions: @code{cmp}, @code{cmpc}, @code{move}.

In addition, the following two illegal opcodes are implemented and used by the simulation:

@example
stop    5-bit immediate, SourceA
trace   5-bit immediate, SourceA
@end example
