ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 марта
1015062 Топик полностью
maleon (30.06.2020 11:24, просмотров: 624) ответил SciFi на Есть ли смысл в этом разбираться? Код корректный в обоих случаях, а генерировать его в рамках вашего представления о прекрасном никто не обещал.
Попробовал усилить оптимизацию, ради того, чтобы разобраться на будующее. Получилось лучше, но хуже чем первый раз 

Лишнее STD Z+3, R16, которое и не используется далее. Не думал, что компилятор заглядывает в константы для ухудшения оптимизации

//   49   PultFlags &= 0xE6;
// 50 PultFlags |= PORTE & ( 1<<3 | 1<<4 ); // PORTE_Bit3, PORTE_Bit4
LDI R30, LOW(KeyFun6E)
LDI R31, (KeyFun6E) >> 8
LDD R16, Z+3
ANDI R16, 0xE6
STD Z+3, R16
IN R17, 0x0E
ANDI R17, 0x18
OR R16, R17
STD Z+3, R16