Keil™, An ARM® Company

C166 User's Guide

FIX32F Compiler Directive

Abbreviation None.
Arguments 

None.

Default None.
µVision Options — C166 — Misc Controls.
Description 

The FIX32F directive causes the C166 Compiler to alter the coding of MOV Rx,[Ry+const16] instruction sequences.

Some early Flash devices variants with 256KB Flash Memory have problems with the MOV Rx,[Ry+const16] addressing. This sequences must be replaced with the following:

[ATOMIC #3]         ;; in case of Ry == R0
ADD Ry,#const16
MOV Rx,[Ry]
SUB Ry,#const16

Note

  • If you use a device with this chip problem you require a modified C166 run-time library. This run-time library can be found in the \Keil\C166\LIB\FIX folder. Enter this library path in μVision under Project — File Extensions, Books, Enviornment — Environment — LIB Folder.
Example 
#pragma FIX32F