VSI ASM V10.1-3
Release Notes
- Operating System:
- VSI OpenVMS x86-64 V9.2-2 or higher
1. What's New in This Release
Important
This release of X86ASM added the feature to prefix each compiler message with:
%facility-severity-ident
followed by the actual message text. Due to an oversight, X86ASM
(SYS$SYSTEM:LLVM-MC.EXE) incorrectly reports itself as
CXX instead of LLVMMC. The message is still correct and the generated code is still
the same as before. It is just a cosmetic mistake. We will correct this in the next
release.
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-3 LLVM version 10.0.1 Optimized build. Build date: 09-12-2025 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