Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: По директивам (коду) gcc ассемблера подскажите пожалуйста
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
AleksBak
Вот такой кусок кода из инициализации:
Код
.section .text.Reset_Handler
    .weak Reset_Handler
    .type Reset_Handler, %function
Reset_Handler:
    /* Copy the data segment initializers from flash to SRAM */
    movs r1, #0
    b LoopCopyDataInit

Почему в 1-ой строке так непонятно написано:
Код
.section .text.Reset_Handler

? 3-я точка тут не лишняя? 1-ая директива тут - .section это понятно. А 2-ая директива ассемблера тут - .text тоже понятно. А почему сразу точка после нее и что она означает? Никаких ошибок этот код не выдает и взят из готового ПО. Спасибо.
RabidRabbit
по моему разумению .text - это вовсе не директива, а часть имени секции .text.Reset_Handler

кстати, если набрать в поисковике GNU assembler manual - можно узнать много интересного sm.gif
AleksBak
Цитата(RabidRabbit @ Apr 10 2016, 12:52) *
по моему разумению .text - это вовсе не директива, а часть имени секции .text.Reset_Handler
...

Часть секции с таким именем - наверно так будет вернее (а не часть имени секции), а директива тут одна только .section - так получается. Еще вот тут:
Код
.section .text.Default_Handler, "ax", %progbits
Default_Handler:
Infinite_Loop:
    b Infinite_Loop
    .size Default_Handler, .-Default_Handler

опять кусок от секции .text объявляется. Только какие-то %progbits и "ax" тут еще есть. cranky.gif Надо бы почитать больше про них...

... этим последним кодом эта директива .section хочет сказать тут, ассемблере (это GAS), что:
Цитата
that the section is allocatable ("a"), executable ("x") and contains data

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