Добро пожаловать в современную генерацию кода 1980-х годов для 8-битных целевых процессоров. То, что делает код, это «записывает значение» p перед его увеличением. Это необходимо, когда оператор постинкремента используется в окружающем выражении; и не оптимизируется последующими проходами компилятора.
Попробуйте p += 1;
или даже ++p;
. Скорее всего, один или оба из них будут генерировать лучший код, потому что нет семантики «обратите внимание на значение перед», чтобы попасть на пути генератора кода.
[Кстати, именно так я попал в меньшинство, используя ++i
в for ()
циклах, а не более распространенные i++
.]