VSI ASM V10.1-4
Release Notes
- Operating System:
- VSI OpenVMS x86-64 Version 9.2-2 or higher
- Kit Name:
- VSI-X86VMS-X86ASM-V1001-4
1. What's New in This Release
Important
X86ASM prefixes each compiler message with
%facility-severity-ident
followed by the actual message text. In the previous release, X86ASM
(SYS$SYSTEM:LLVM-MC.EXE) incorrectly reported the facility as CXX. This has been
fixed: messages now correctly report the facility as LLVMMC.
This kit includes the LLVM tool named "llvm-mc". This provides a native x86-64 assembler that is highly compatible with the gnu "gas" assembler.
The tool must be activated via an OpenVMS foreign command. Define the foreign command as follows:
$ llvmmc :== $sys$system:llvm-mc
The compiler version number is:
$ llvmmc --version LLVM (http://llvm.org/): VSI version V10.1-4 LLVM version 10.0.1 Optimized build. Build date: 06-30-2026 Target: x86_64-OpenVMS
A sample command to run the llvm-mc tool is as follows:
$ llvmmc --filetype=obj -o=objectfilename.obj sourcefilename.s
Here are some useful options for the command:
| Option | Description |
|---|---|
--help | Displays available options (help-hidden for
more). |
-o filename | Saves the output to the filename
file. See the summary above for more details. |
--filetype=[asm,null,obj] | Sets the output file type. Setting this flag to asm will
make the tool output text assembly. Setting this flag to
obj will make the tool output an object file. Setting
it to null causes no output to be created and can be used
for timing purposes. The default value is asm. |
--assemble | Assembles an assembly file (default) and prints the result to
assembly. Combined with the other llvm-mc flags, this can be useful in
designing and testing instruction parsers as well as transcoding
assembly from different dialects (for example, on Intel where you can
use -output-asm-variant=1 to translate from AT&T to
Intel assembly syntax). This can also be combined with show-encoding to
understand how instructions are encoded. |
--disassemble | Parses a series of hex bytes and prints the result out as assembly syntax. |
2. Documentation
Documentation for the assembler can be found at https://llvm.org/docs/CommandGuide/llvm-mc.html.