The energy usage of computer systems is becoming important, especially for portablebattery-operated applications and embedded systems. A significant reduction in the energy consumption of a programcan be achieved via code optimizationsthat transform the code to take advantageof the Instruction Set Architecture (ISA) of the target processor. These code optimizations result in significantly shorter execution times of the software which in turn allow the operating frequency of the processor to be reduced, while maintaining the same throughput as the conventionally coded application. This reduction in operating frequency allows dynamic voltage scheduling to be applied to the processor, which results in energy reduction. This work describes how the operating frequency and the supply voltage can be changed on a low power microprocessor. The examples used show that over an order of magnitude reduction in the energy consumption is possible by using the aforementionedtechniques.