Fehler: Durch einen Fehler im Präprozessor führt die Verwendung des Operators „mod“ in Konstanten-Ausdrücken zu fehlerhaftem Ergebnis oder zum Absturz des Compilers.

  • Lösung: Ersatz-Makro verwenden.
Fehler:
const rest = 12345 mod 10 ' = 5
Lösung:

Für 16 Bit Argumente

#define DEF_MOD16(a,b) as word( (a) - (b)*word((a) /(b)) ) 
const rest = DEF_MOD16(12345, 10) ' = 5

Für 32 Bit Argumente

#define DEF_MOD32(a,b) as long( (a) - (b)*long((a) /(b)) ) 
const rest = DEF_MOD32(100000, 7) ' = 5