An assembler that generates machine language for a different type of CPU than the one the assembler is running in. Cross assemblers are used to develop programs for microprocessors and microcontrollers that are too small to support the development software. See cross compiler, assembler and microcontroller.