/dcpu16-perl

emulator for the DCPU-16 (http://0x10c.com/)

Primary LanguagePerl

DCPU-16 Emulator and Assembler

Based on the specification here.

Includes an extra instruction HLT which stops execution of the current program (otherwise it will run forever unless you tell it to only execute a certain number of operations).

Emulator

perl -Ilib bin/dcpu16-execute [--iterations <n>] [--dump <outfile>] <binary>

Executes a DCPU-16 binary file. Runs until a HLT instruction is seen, unless --iterations is specified, in which case it runs for that many clock cycles. Produces a memory and register dump at the end in the file ./dcpu16.dump (or whatever file you specify with the --dump option).

Assembler

perl -Ilib bin/dcpu16-asm [--output <outfile>] <asm_file>

Creates a DCPU-16 binary from an assembler file. Assembler syntax is so far limited to the examples that are given in the specification. Output is written to ./a.out, or whatever filename is given in the --output option.