In computer architecture, millicode is a higher level of microcode used to implement part of the instruction set of a computer.
Millicode routines are used to implement more complex instructions visible to the user of the system.
Implementation of millicode may require a special processor mode called millimode that provides its own set of registers, and possibly its own special instructions invisible to the user.
[1] The term millicode was introduced to literature by Klingman in 1981,[2] although terms like nanocode had been in use since the early 1970's when describing computer architectures with hierarchical implementations of instructions.
[1] The following are cited as advantages of millicode:[1] The "i370" code for the "Capitol" chipset used in some ES/9370 models was similar to millicode, in that it was written as a combination of System/370 instructions and code that had access to special hardware features.