A number of ST120 features challenge traditional compiler code generators. These features include the split AU { DU register le, the decoupled implementation, the SL-IW instruction mode, the predication model with branch shadow,the DSP addressing mo-des, and the DSP arithmetic support.Compiler exploitation of these features is dem-onstrated by the ST120 Linear Assembly Optimizer (LAO). The purpose of the LAO is to convert a program written in Linear Assembly Input (LAI) language to the ST120 b-asic assembly language that is suitable for assembly, linking, and execution. Although initially designed for the ST120 assembly language programmers, the LAO has pr-oved itself very e ective at improving the ST120 C compiler output.