NASM Language Support
Language features for NASM Assembly.
Features
This extension provides syntax highlighting and diagnostics for assembly files (.asm, .nasm, .s). Your system's nasm executable is used to detect compile-time errors and warnings such as invalid syntax or likely incorrect code.
This extension does provide:
- Syntax highlighting & language configuration
- Code validation on save
This extension does not provide:
- Autocomplete or Intellisense
Shown above: NASM Language Support + Error Lens, Theme: Github Dark Default
Requirements
While syntax highlighting can always be used, you must have a nasm binary referenced in your PATH environment variable to view code diagnostics.
Getting a NASM binary on Unix-like systems
Your operating system might have a nasm package.
For example:
- macOS (Homebrew):
brew install nasm [^1]
- Arch Linux:
pacman -S nasm
- Debian/Ubuntu:
apt-get install nasm
- Fedora/RPM-based:
dnf install nasm, yum install nasm
Downloading a NASM binary
You can also download NASM from their website. Find a link to the latest version and download the executable for your platform. Then, add it to a folder that's referenced in your PATH, such as /usr/local/bin.
Extension Setting
This extension contributes the following settings:
nasm.validate: If enabled, NASM Language Support will validate your assembly files. This is dependent on you having a nasm executable in your PATH.
nasm.outputFormat: Changes the executable output format to assemble for. This is neccesary to provide correct errors based on your build target.
nasm.reportWarnings: If disabled, warnings will be supressed.
nasm.extraFlags: Extra flags (for example, -w+all) that will be appended when running nasm when validating assembly files
nasm.nasmPath: The name or path of the nasm executable (e.g. /opt/homebrew/bin/nasm, /usr/local/bin/nasm)
nasm.checkOnType: If enabled, validates assembly files as you type rather than after saving.bb
[^1]:
You may need to add set the nasm.nasmPath option to /opt/homebrew/bin/nasm for the extension to work properly.