NASM Assembly Language

Compatible with: IntelliJ IDEA PhpStorm WebStorm PyCharm RubyMine AppCode CLion GoLand DataGrip Rider MPS Android Studio
Feb 05, 2019
6 782

NASM assembly language for JetBrains IDEs


Version v0.4-beta.5 pre-release


Features

  • FPU, MMX, SSE, SSE2, SSE3, SSE4, AVX, AVX2, AVX512, Virtualization, and General instruction support.
  • Syntax highlighting.
  • Single and multiline macro support.
  • Conditional assembly directives support.
  • Preprocessor directives support.
  • Structure support.
  • Brace matching for braces, macros, preprocessor, and structs.

Planned Features

  • Goto symbol
  • Code completion
  • Debugger support

Download plugin

Recent change notes

  • Added macro syntax highlighting.
  • Added support for conditional assembly directives.
  • Fix for bug where blank comments would not match the comment regex.
  • Added support for structures and improved highlighting.
  • Fixed conditional assembly problems.
  • Fixed number size prefixes, segment addresses, data/instruction labels.
  • Added new operator expressions.
  • Added pinning for some repeating rules.
  • Added system instructions.
  • Added highlighting for segment addresses, and structure references.
  • Fix for blank labels in structs.
  • Fixed istruc structure parsing.
  • Added support for the RETF instruction.
  • Added bitwise operations and fixed macro label definitions.
  • Added BSS section.
  • Now allow structs to have macros and identifiers.
  • Fixed macro labels.
  • Allow expressions in struc fields.
  • Can now prefix expressions with bitwise NOT, minus, or plus symbol.
  • Fixed segment addresses.
  • Added AVX, AVX2, AVX512, and Virtualization instruction sets.
  • Can now use macros in segment addresses.
  • Added brace matching for braces, macros, preprocessor, and structs.
  • Fixed size type prefixes on expressions.
  • Added identifiers to istruc structure instances.
  • Added .RDATA section directive.
  • Added improved macro highlighting.
  • Fixed a null pointer exception that would happen with labels in segment addresses.
  • Added highlighting for macros in segment part of segment addresses.
  • Fixed section and segment directives so you can use any section/segment name.
  • Can now use size prefixes for macro calls/references.
  • Added the ability to use END tag in expressions.
  • Conditional and other preprocessor directives now supported inside macro definitions.
  • Nested macros now supported.
  • Macros without parameters now properly supported.
  • Single semicolon (comment) now allowed at end of file.
  • Added a "ChooseByNameContributor" that can navigate to a symbol by name.
  • Fixed bug where generic identifiers would error if a comment was after it.
  • Fixed highlighting which broke in v0.4.1.
  • Began adding more conditions for conditional expressions.
  • Added ability to use non-local to macro labels.
  • Macro parameters can now be any expression or mnemonic.
  • Added size type prefix for registers.