IrvRun
IrvRun is a Visual Studio Code extension that builds and runs MASM32 Assembly programs written with the Irvine32 library. It compiles and launches your .asm file in one click, turning a multi-step build into a single action.
Features
- Build and run
.asm files with a single click.
- Build errors and warnings shown in the Problems panel, linked to the exact line.
- Hover help and autocomplete for Irvine32 procedures and x86 instructions.
- Outline, breadcrumbs, and Go to Definition for your own labels, procedures, and variables.
- Syntax highlighting, comment toggling, bracket matching, and auto-indent.
- Snippets for common patterns and a built-in cheat sheet.
Installation
1. Download MASM615
Download MASM615 and extract it so the tools sit directly in C:\Masm615.
2. Install the extension
In VS Code, open the Extensions view (Ctrl+Shift+X), search for IrvRun, and click Install.
3. Confirm the setup
Run IrvRun: Check Setup from the Command Palette. If your MASM615 is somewhere other than C:\Masm615, set the irvrun.masmPath setting to point to it. You do not need to edit your system PATH.
Usage
Open an .asm file and run it with any of these:
- Press Ctrl+Alt+N.
- Click the Run MASM button in the status bar or the title bar.
- Right-click the file and choose Run MASM Code.
Commands
Available from the Command Palette (Ctrl+Shift+P):
| Command |
Description |
IrvRun: Run MASM Code |
Build and run the current file. |
IrvRun: Build MASM Code |
Build without running, reporting any errors. |
IrvRun: Clean Build Files |
Delete generated files (.obj, .exe, etc.). |
IrvRun: New Program |
Create a new file from the Irvine32 template. |
IrvRun: Insert Game |
Drop a complete showcase game into the current file. |
IrvRun: Check Setup |
Verify your MASM615 installation and PATH. |
IrvRun: Open Cheat Sheet |
Show register conventions, procedures, and instructions. |
Settings
| Setting |
Default |
Description |
irvrun.masmPath |
C:\Masm615 |
Path to your MASM615 installation. |
irvrun.pauseAfterRun |
true |
Keep the console open after the program finishes. |
Snippets
Type a prefix and press Tab:
| Prefix |
Description |
template |
Basic Irvine32 program template |
writes |
Print a string with WriteString |
writei |
Print an integer with WriteInt |
readi |
Read an integer with ReadInt |
proc |
Define a procedure |
loop |
Loop using ECX |
ifelse |
Compare and branch with CMP |
data |
Declare a variable in .data |
cls |
Clear the screen |
crlf |
Print a new line |
datetime |
Get the system date and time |
rand |
Generate a random number |
exit |
Exit the program cleanly |
Showcase games
IrvRun ships with complete, ready-to-run games written in Irvine32 assembly. They double as working examples of console I/O, keyboard input, and game loops.
To try one:
- Open an
.asm file.
- Run IrvRun: Insert Game from the Command Palette and pick a game. Its full source replaces the current file, so use an empty or throwaway file.
- Run it with Ctrl+Alt+N.
Snake
Steer the snake into the food to grow and score. Hitting a wall or your own tail ends the round. Your best score is kept until you close the game.
| Key |
Action |
Arrow keys or W A S D |
Steer |
R |
Play again after game over |
Q |
Quit |
Tic-Tac-Toe
Play against the computer. You are X, the computer is O. Empty squares show their number, so type 1-9 to place your mark. The computer takes any winning move, blocks yours, then prefers the center, corners, and sides, which makes it very hard to beat.
| Key |
Action |
1-9 then Enter |
Place your mark |
R |
Play again |
Q |
Quit |
Developers
Kamogelo Lebelo and Budeli Thabelo