ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
53221 Топик полностью
she (07.03.2006 22:50, просмотров: 1) ответил Romario на а для 32 битника этот вариант даже лучше. 1 раз сделал табличку по переходу на case и в цикле. однако, имхо, этот код из разряда tips & tricks
Дело не в разрядности... В АВРах есть регистровые пары, специально приспособленные под указатели, с возможностью декремента (и/или инкремента , щас точно не помню). ИАР в каждом case-блоке сначала читал указатели из РОНов, где им было место(по его мнению),в индексы, делал, что нужно, потом назад писал. В менее извращенном варианте кода один из указателей постоянно сидел в индексной Z-паре, что давало несколько лишних тактов. Возможно, разработчики оптимизатора такое учитывали и прогоняли, или просто так получилось=). Возможно, при другой конфигурации оптимизатора ситуация и изменилась бы. Я к тому, что, ИМХО, не всегда стоит поддаваться искушению выпендриться. Ежели можно сделать красиво, не факт, что компилер допрёт до этого. Опять же, стоит подумать о людях, которые будут за нами править глюки в программах...