Machine code monitor

A machine code monitor is a primitive operating system that provides basic functionality on a computer. It is typically very small and can be used to start or debug other programs.

Machine code monitors were typically used as a substitute for a complete operating system on very early home computers (such as the Apple I ) and embedded systems or BIOS equivalent on workstations. Functional only just above the engine mount, it allows the monitor at least, to read data from memory cells and writing to it, and run a program from an arbitrary memory address. Data entry and display is typically done hexadecimal, but it may well also be in binary or octal.

Also, some later home computers (eg Apple II, Commodore 16) offered a built-in monitor as a low-level complement to also built higher operating system. On the other machine (eg Commodore 64), a monitor, if necessary could be loaded as a normal program from a mass storage into memory.

To service monitors typically offer only a simple command line.

Commands in a machine language monitor can look like this:

200: 4C 00 02 This would at a 6502 -based computer (for example, Commodore 64 ) write a jump to address $ 0200 to the memory locations from $ 0200 an infinite loop so. Then could use a command like

200G (G for " Go" ), this loop will be executed. Therefore, there is always the possibility of the monitor to abort a running program, usually by pressing Ctrl C.

Simple need to monitor, according to the code density of the CPU used is not more than 200 to 300 bytes of memory. More comfortable monitors have partially over the possibility of issuing program code from memory in assembly language or even to accept individual commands in assembler notation and then to write them as machine code in the memory. Compared to a real assembler but missing nearly always the possibility to use symbolic addresses, so that longer programs can hardly write useful with a Monitor.

  • User interface
  • Operating system