Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: __aeabi_idiv
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Xim73
Доброго времени суток!

Решил посмотреть во что компилируется мой код и увидел следующее:

Код
        SECTION `.text`:CODE:NOROOT(2)
        ARM
//   13 int main (void)
//   14 {
main:
        PUSH     {R4,LR}
//   15   int a=10;
        MOV      R0,#+10
//   16   int b =3;
        MOV      R1,#+3
//   17   int c = a/b;
        BL       __aeabi_idiv
        MOVS     R4,R0


Как я понимаю, это вспомогательная функция, реализующая операцию деления двух целых чисел, ведь процессор делить не умеет.
Хотел посмотреть код данной функции, но не нашёл никакого упоминания о ней ни в исходниках библиотеки IAR, ни в документации к IARу. Может кто-нибудь знает где она находится?

Заранее благодарю за ответ
kovigor
Цитата(Xim73 @ Jun 22 2012, 18:41) *
Может кто-нибудь знает где она находится?


.map - файл посмотрите и листинг. Это какая-то функция, которую сформировал компилятор. И оптимизацию отключите - проще будет разобраться ...
aaarrr
Функция библиотечная. Исходники можно и в симуляторе посмотреть - все равно на асме писана.
Xim73
Да, вы правы. Функция библиотечная. Находится в файле rt4t_al.a.
А я наивно предполагал, что есть исходники к этой библиотеке (IAR вроде как лицензионный). Но исходники есть только к стандартной библиотеке. Ну да ладно, посмотрю код в отладчике.

Всем большое спасибо за ответ.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.