MIKBUG is a ROM monitor from Motorola for the Motorola 6800 8-bit microprocessor. It is intended to "be used to debug and evaluate a user's program".
MIKBUG was distributed by Motorola in 1974 on a 1 K ROM chip part number MCM6830L7. It occupied 512 bytes on the chip, where the remainder was occupied by a 256 byte MINIBUG monitor—a stripped-down version of MIKBUG—and a 256 byte "test pattern" (really just a different and unused revision of MINIBUG). It requires 128 bytes of random-access memory for operation. Its functionality was similar to other monitors of the early microcomputer era, such as the Intel MON-80 for the Intel 8080.
MIKBUG is initiated when power is first applied to the system, or when the system RESET button is pressed. It assumes the presence of a terminal that the user will use to issue commands.
Command | Function | |
---|---|---|
L | Load a program from a paper tape reader on the attached terminal. The program tapes may be a "formatted binary object tapes or MIKBUG punched memory dump tapes". | |
M | Examine or change memory contents. | |
P | Print and/or punch memory contents. The user stores the beginning address in locations A002h and A003h, and the ending address in A004h and A005h before entering this command. The data is punched in absolute binary format. | |
R | Display the contents of the CPU registers. | |
A | Change the contents of a register. | |
G | Run a user's program. |
Callable functions include input and output of a character on the terminal, input and output of a byte in hexadecimal format, print a string terminated by EOT
, and terminate the current program and return control to MIKBUG.
MIKBUG allows the user to install an interrupt handler using the M
command to specify the handler address.
Listings of MIKBUG and MINIBUG monitors are available online.