ARM Technical Support Knowledge Articles


Applies to: C166 C Compiler


Information in this article applies to:


Is the Multiply-Accumulate (MAC) Unit supported by the C166 compiler for the ST10x2xx and Infineon XC16x devices?

If so, where can I find a detailed explanation of the MAC Assembler Instructions?

Are any DSP examples available for the MAC?


A MAC Unit is available in the ST10F2xx, ST10R2xx, and Infineon XC16x devices. It was first supported by intrinsic function in C166 Version 4.02. These functions are documented and explained in Application Note 140: Using the MAC Unit of the ST10-272.

C166 Version 4.24 adds inline assembly support for the ST10 and Infineon devices. The new inline assembly functions are explained in Application Note 172: Using the Extended C166 Inline Assembler.

Several DSP examples are available in the KEILC166EXAMPLESXC16X DEVICES folder.

Detailed descriptions of the MAC assembler instructions can be found in the Infineon and ST10 Hardware Architure User's Guides.

The Infineon C166S V2 16-Bit Microcontroller User's Guide is available at

The ST10 Family Programming Manual is available at

ST offers AN1442: APPLICATION NOTE Signal Processing with ST10-DSP at This application note includes some algorithms for the MAC unit.

You may download the latest updates from the Keil Website.

Article last edited on: 2004-03-05 13:24:34

Rate this article

Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential