Цитата(aaarrr @ Apr 2 2009, 00:44)

Переносимость не в смысле "возможность компиляции тулзом X" (что я вообще не считаю проблемой), а в смысле "возможность работы из любого адреса".
Ок, хорошо, с такой точки зрения согласен.
Но переносимость всмысле "возможность компиляции тулзом X" теряется. Хоть это и не проблема - но это время, наше время!
Зачем самое дорогое что есть, тратить на адаптацию кода к тулзу X?
Цитата
Вы не можете заранее знать, безопасно ли менять рабочий адрес процедуры.
Если она не содержит вызовов других функций, и не использует глобальных переменных, можно спокойно прогнозировать ее поведение при выполнении с любого адреса.
(т.е. важно чтобы функция всего навсего не содержала в себе адресацию через PC).
Как достичь - передать ей все требуемые данные в качестве параметров.
Цитата
Если она, конечно, не состоит из шести команд (целых 24 байта ОЗУ сэкономили!) как в данном случае.

тем не менее 24 байта сэкономлено.