Цитата(job_andrey @ Dec 30 2008, 16:49)

Требуется получить машинный код, в котором для каждого его куска можно найти соответствующий кусок в исходном коде (на С). Т.е. в генерируемом компилятором машинном коде не должны присутствовать какие-либо неявные вставки, не имеющие соответствующего отображения исходном коде (вроде проверки границ массивов), и наоборот ничто не должно быть отрезано.
Это и есть "без оптимизации".
Цитата
1. Если убрать все ключи оптимизации компилятора, будет ли выполнятся какая-либо оптимизация по умолчанию?
Читайте документацию на компилятор. IAR по умолчанию оптимизирует "слегка" (по скорости).
Цитата
2. На каких этапах выполняется оптимизация: до преобразования в ассемблерный код и/или после?
Хм. Имхо во время "преобразования в ассемблерный код". То, что Вы получите в .lst и в .hex, есть конечный продукт работы компилятора; все оптимизации уже сделаны до того. Линкер ничего не оптимизирует в коде.