[an error occurred while processing this directive]
|
Где-то как и
array[i++] = i;
Инкремент cntByte в результате вычисления значения выражения cntByte++ - это "побочный эффект", который может быть произведён в любое время после использования cntByte в правой части оператора сравнения.
Поскольку порядок вычисления операндов оператора сравнения не определён, компилятор имеет полное право сделать так:
temp1 = buf[cntByte]
cntByte = cntByte + 1 (для вычисления buf[cntByte++] cntByte уже использовалось, можно завершить постинкремент)
temp2 = dataHex[cntByte]
if temp1 != temp2 goto ...
что он, похоже, и делает.