Выражение
Цитата
(A/B*C/D)
вычисляется препроцессором слева направо как
целочисленное, и с указанными значениями
A/B = 0 без вариантов.
К сожалению, Вам придется самому следить за переполнением и потерей точности в таких выражениях.
Выражение (A*С/B/D) не приведет ни к потере точности, ни к переполнению.
Занятно:
Код
.EQU A=4100.0
.EQU B=1000000
.EQU C=20000000
.EQU D=1024
LDI R18,low($100-INT(4100.0/B*C/D))
LDI R19,high($100-INT(A/B*C/D))
в R18 получим 0xb0 - правильно, а в R19 0x01 - неправильно.
Таки косячок имеется.