Ситуация такова. Имеется "библиотека" написанная на асме. Библиотека довольно большая, используется давно и уже отлажена. Сегментирования кода и данных нет, тоесть все привязанно к абсолютным адресам. Написана на mpasm, причем не мной. Очень хотелось бы использовать ее совмесно с С компилятором. Как с наименьшими телодвижениями это сделать? Беглый просмотр доки на aсм Иара и Хайтека определил различия с mpasm. Может проще оформить все в виде настоящей библиотеки используя среду, где она была рождена, т.е Mplab?
Вторая задача состоит в выборе компилятора. Много работал с Иаром, все нравится, но он поддерживает только PIC18 - не универсально(возможно придется еще работать с PIC16). Хотя макроассемблер Иара мне больше понравился, чем Хайтека, да и отладчик там имхо приятней, чем в MPLAB. Также нет информации насчет безглючности, оптимальности и тд. Вроде как Хайтек все хвалят, про Иар ничего не слышал...
Есть еще одна непонятка. Как я понимаю С компилятор при вызове подпрограммы на асме не знает какие регистры могут похерится(STATUS, BSR, FSR и тд), соответственно не заботится о их сохранении. Получается что мне придется ковырять чужую библиотеку и дописывать сохранение контекста чтобы ее можно было полноценно использовать в С?
--------------------
То, что неясно, следует выяснить. То, что трудно творить, следует делать с великой настойчивостью. Конфуций
|