[an error occurred while processing this directive]
|
то, что при работе с их определениями регистров компилятор имеет больше шансов оптимизировать - там у них регистры все не отдельно друг от друга, а в структуры запиханы, что упрощает оптимизацию - обращение к полям структуры - это прямое указание загрузить базовый адрес в DP регистр (страничный регистр), и дальнейшие обращения уже делаются относительно него с малым смещением (подобные оптимизации эффективны на процессорах где есть косвенная адресация с коротким смещением (что дает возможность использовать короткую инструкцию) - например, AVR). А если напрямую к адресам лазить, то тут уже компилятор должен уметь соображать, что адреса лежат в зоне доступа относительно страничного регистра. Возможно есть случаи, когда тяму у комплиятора не хватает просечь подобную ситуацию. Хотя мне показалось, что такие вещи, как обращение к памяти, он оптимизирует хорошо. Но я еще только начал с ним работать, достаточного опыта не приобрел.
E-mail: info@telesys.ru