Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Monrobot XI AssemblyNew to Visual Studio Code? Get it now.
Monrobot XI Assembly

Monrobot XI Assembly

TheHighNibble Pty Ltd

|
6 installs
| (1) | Free
Language support for Monrobot Mark XI assembly language
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Monrobot XI Assembly Language Extension

A VS Code extension providing language support for the Monrobot Mark XI assembly language.

Features

Syntax Highlighting

  • Full syntax highlighting for all Monrobot XI instructions and directives
  • Number format highlighting (sexadecimal, hexadecimal, decimal, binary)
  • Comment highlighting
  • Label and symbol highlighting
  • Register highlighting (FA0-FA6)

IntelliSense

  • Code Completion: Instructions, directives, registers, and symbols
  • Hover Information: Detailed documentation for instructions, directives, and symbols
  • Go to Definition: Navigate to label and symbol definitions
  • Document Symbols: Outline view showing labels, constants, and macros

Diagnostics

  • Real-time error detection
  • Undefined symbol warnings
  • Duplicate label detection
  • Range checking for operands

Code Formatting

  • Automatic column alignment
  • Configurable alignment columns for labels, mnemonics, operands, and comments

Code Folding

  • Fold MACRO/ENDM blocks
  • Fold IF*/ENDIF blocks
  • Region markers (; region / ; endregion)

Snippets

  • Program templates
  • Common code patterns
  • Macro templates
  • Control flow patterns

Build Integration

  • Assemble command (Ctrl+Shift+B / Cmd+Shift+B)
  • Assemble with listing output
  • Default output in paper tape format (compatible with dmcnaugh emulator)
  • Disassemble paper tape or binary files
  • Build tasks

Listing File Support

Full language support for assembler listing files (.lst):

  • Syntax Highlighting: Addresses, opcodes, data words, line numbers, symbol table
  • Embedded Assembly Grammar: Full syntax highlighting in SOURCE column
  • Hover Information:
    • Opcodes decoded to instruction mnemonics with documentation
    • Data words shown in all number formats with instruction breakdown
    • Symbol table values with address formats
  • Go to Definition:
    • Symbols in SOURCE column → definition line within listing
    • Line numbers in LINE column → corresponding line in source file
    • Symbol table entries → source file definition
    • Reference line numbers → referenced source lines
  • CodeLens: "Open Source File" action at top of listing

Requirements

  • Python 3.8 or later
  • The monrobot_xi Python package (assembler/disassembler)

Extension Settings

This extension contributes the following settings:

  • monrobot-xi.assembler.pythonPath: Path to Python interpreter
  • monrobot-xi.assembler.assemblerPath: Path to the monrobot_xi assembler directory
  • monrobot-xi.drum.extended: Enable extended drum mode (2048 words)
  • monrobot-xi.output.format: Default output format (tape, bin, hex, or sex)
  • monrobot-xi.diagnostics.enable: Enable real-time diagnostics
  • monrobot-xi.diagnostics.delay: Delay before running diagnostics (ms)
  • monrobot-xi.formatting.alignMnemonic: Column for mnemonic alignment
  • monrobot-xi.formatting.alignOperand: Column for operand alignment
  • monrobot-xi.formatting.alignComment: Column for comment alignment

Commands

  • Monrobot XI: Assemble - Assemble the current file (outputs paper tape by default)
  • Monrobot XI: Assemble with Listing - Assemble with listing output
  • Monrobot XI: Disassemble File - Disassemble a paper tape or binary file

Keyboard Shortcuts

Command Shortcut
Assemble Ctrl+Shift+B / Cmd+Shift+B

Supported File Extensions

  • .asm - Assembly source
  • .s - Assembly source
  • .mxi - Assembly source
  • .lst - Assembler listing output

Language Reference

Instructions (39 total)

Category Mnemonics
Arithmetic ADD, SUB, MUL, DET, LOD, STR, XCH, EXT, DETF, MULF, DXFR
Control JMP, JMK, JZE, JHI, JMKX, JMKS, JMKI
I/O INP, INPC, OUT, OUTP, IOU
Shift DSL, DSR, BSL, BSR, BEA, BEAF, BSN
Special CL6, CL5, SET, NOP, NOPV, NOPZ, NOPP, STP, INI
Pseudo CON, FLAG
MonroCard MCR, MCW, MCE

Advanced Instructions (MO-96ADV)

The extension supports all instructions from the "Advanced Programming Information" manual:

  • Fast access arithmetic: DETF, MULF, DXFR
  • I/O extensions: INPC (CR detection), OUTP (even parity)
  • Shift with flag: BEAF
  • Self-modifying code: JMKX, JMKS, JMKI
  • NOP variants: NOPV, NOPZ, NOPP
  • High-order bit generation: FLAG (SIGN, BIT30-25, HIGH)

Directives

Directive Purpose
ORG Set origin address
EQU Define constant
DATA/DW Define data word
DS/RES Reserve storage
STRING Packed string data
DRUM Set drum mode
MACRO/ENDM Macro definition
IF*/ENDIF Conditional assembly
INCLUDE Include file
END End assembly

Registers

  • FA0-FA6: Fast access registers
  • FA6: Main accumulator
  • FA5: Multiplier result / output buffer
  • FA2: Return address (set by JMK)

Number Formats

Format Prefix/Suffix Example
Sexadecimal (none) 3XX, 100S
Hexadecimal 0x or $ 0x3FF, $100
Decimal # or d suffix #100, 100d
Binary % or 0b %1010, 0b1111

Installation

From VSIX

  1. Download the .vsix file
  2. In VS Code, go to Extensions view (Ctrl+Shift+X)
  3. Click the ... menu and select "Install from VSIX..."
  4. Select the downloaded file

From Source

  1. Clone the repository
  2. Run npm install
  3. Run npm run compile
  4. Press F5 to launch the extension in debug mode

Building the Extension

# Install dependencies
npm install

# Compile TypeScript
npm run compile

# Watch for changes
npm run watch

# Package as VSIX
npx vsce package

Release Notes

0.7.1

  • Fixed file paths with spaces in VS Code task execution (Issue #6)
  • Fixed Windows error link navigation (Issue #6)
  • Error messages now quote filenames with spaces for terminal link detection (Issue #6)
  • Assembler errors now populate the Problems panel for click-to-navigate (Issue #6)
  • Fixed symbol table navigation in listing files to stay within the listing (Issue #7)

0.7.0

  • Breaking Change: Corrected FLAG instruction opcode from 98xx to 9Sxx (0x9Axx hex). Programs using FLAG must be reassembled.

0.6.3

  • Listing file (.lst) support with syntax highlighting, hover information, go-to-definition, and CodeLens
  • Diagnostics use GCC-style format for click-to-navigate in Problems panel

0.6.2

  • Explorer context menus and editor title buttons for assemble/disassemble commands
  • CodeLens quick actions for assembly and tape files

0.6.0

  • Multi-section paper tape support for non-contiguous memory regions

0.5.1

  • Fixed OUTP instruction encoding (device code in correct nibble, 0xFF suffix)

0.5.0

Initial public release:

  • Syntax highlighting
  • Code completion
  • Hover documentation
  • Go to definition
  • Document symbols
  • Real-time diagnostics
  • Code formatting
  • Code folding
  • Snippets
  • Build integration

License

MIT License - Copyright (c) 2026-present The High Nibble Pty Ltd (ACN 633 867 268)

Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft