msu  MTMC-16

MonTana Mini-Computer

A 16-bit educational computer for learning how computation works

Launch Emulator

The Computer

The MTMC-16 is a virtual 16-bit computer with 8 registers, up to 16KB of memory, a 160x144 pixel display, and a built-in terminal. It draws inspiration from the x86, PDP-11 and Game Boy.

The emulator includes a code editor, assembler, file system, step debugger with backward stepping, and blinkenlights-style register visualization.

x366 Assembly

x366 is the instruction set for the MTMC-16. It uses (mostly) x86-style mnemonics (MOV, ADD, CMP, JMP, CALL) with a simplified encoding that fits in a semester.

Registers: AX, BX, CX, DX, SI, DI, SP, BP
Addressing: immediate, register, direct, register-relative, indexed

C-- Language

C-- is a minimal subset of C that compiles to x366 assembly. It supports functions, arrays, pointers, and basic I/O — enough to write real programs.

The emulator includes a built-in C-- compiler with a dual debugger that shows C-- source alongside the generated assembly as you step through.

Documentation