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

|
1 install
| (0) | 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

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
  • .s
  • .mxi

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

1.4.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