 On a microprogrammed computer the microprogram implements the operations of the instruction set in which any normal program (including both application programs and operating systems) is written.The use of a microprogram allows the manufacturer to fix certain mistakes, including working around hardware design errors, without modifying the hardware.Another means of employing microassembler-generated microprograms is in allowing the same hardware to run different instruction sets.