shithub: riscv

ref: f70cf0b70eb2b9b6cdf7208bf775189c724eb446
dir: /sys/man/1/mix/

View raw version
.TH MIX 1
.SH NAME
mix \- 
.B MIX
assembler and emulator
.SH SYNOPSIS
.B games/mix
[
.B -g
]
[
.I file ...
]
.SH DESCRIPTION
.I Mix
is an assembler and emulator for Donald Knuth's
fictitious
.B MIX 
architecture. The command assembles the named 
.B MIXAL
files into memory and then presents a command
prompt to control an emulated
.B MIX
machine. The
.B -g
option causes the emulator immediately to run a complete assembled
.B MIX
program and exits when the emulator halts.
.PP
The following commands are accepted:
.TP
.B addr[(a:b)]
Print the value at
.I addr.
An optional field specification is given by
.I (a:b).
.TP
.B a [< file]
Start the MIXAL assembler. The assembler will begin
assembling at the address after the last assembled
instruction. If no file is given, the assembler will
accept instructions from the console.
.TP
.B b addr
Set or unset a breakpoint at
.I addr.
.TP
.B c
Resets the
.B MIX
machine to a fresh state by clearing all memory
and registers.
.TP
.B d addr
Disassemble the instruction at
.I addr.
.TP
.B o addr
Print the alphanumeric
.B MIX
word at
.I addr.
.TP
.B o(addr, d)
Print
.I d
alphanumeric mix words starting at
.I addr.
.TP
.B r*[(a:b)]
Print the value in register
.I r*
where * is one of a, x, ax, j, or 1-6. An optional
field specification is given by
.I (a:b).
.TP
.B s
Step through one instruction of the emulated
.B MIX
machine.
.TP
.B g
Start the emulated
.B MIX
machine at the instruction specified by the
.B END
pseudo-instruction.
.TP
.B x
Quit the emulator/assembler.
.PP
The
.I addr
field of the above instructions must be an integer between 0 and 3999
inclusive. A number-sign (#) or an asterisk (*) at the beginning of
a line starts a comment which extends to the end
of the line.
.SH SOURCE
.B /sys/src/games/mix
.SH "SEE ALSO"
.nf
Donald Knuth, ``The Art of Computer Programming'', Volume 1. Section 1.3
.PP
.B /sys/src/games/mix/examples
.SH BUGS
As opposed to Knuth's specification,
the
.B ALF
pseudo-instruction takes as argument five
.B MIX
characters surrounded by quotation marks.
Unresolved forward references are assembled
to 0 instead of to a location determined by
the
.B END
psuedo-instruction.
.PP
The magnetic tapes and drum units are not
implemented.
.PP
Comments are handled as described above and not
exactly as Knuth specifies.