 If a given computer implementation supports a writeable control store, the microassembler is usually provided to customers as a means of writing customized microcode.In the process of microcode assembly it is helpful to verify the microprogram with emulation tools before distribution.Nowadays, microcoding has experienced a revival, since it is possible to correct and optimize the firmware of processing units already manufactured or sold, in order to adapt to specific operating systems or to fix hardware bugs.