[elektro] cortex aeabixx eltüntetés

hg12345 hg12345 at freemail.hu
Fri Sep 7 08:42:08 CEST 2012


Ha C-ben maga használja a R9-s regiszter akkor biztos menti is! az R0..R3 és az R12 regisztert használja alap beállításként a fordító (scrach pad)
De ha ASM-ben használod akkor azzal nem foglalkozik a C, akkor neked kell gondoskodni a mentésről.
A C-vel szeretnéd kezelni az R9 mentését (ez elvileg blokkos PSUH/POP használ, akkor a parméter listában adjál egy parmétert át ebben a regiszterben. A GNU C egyes verziói ezt elfogadják, ilyesmire keressél:

register int Accum_A asm(“A”);  ahol A: lehet a definiált regiszter hivatkozás

Ha ismeri és elfogadja akkor használható lokás és globálisan is, globális esetben emlékeim szerint kitiltja a használatád a fordítási egységben, elég érdekes egy alkalmazás ahol ilyesmi kell.....


--------------------------------------------------------------------------

Ha hasonló néven definiálsz saját függvényt, akkor azt fogja meghivni ha belefordítod. Talán ez a legegyszerübb módja, maximum csak egy ret-t teszel bele. Kicsit idöigényes, de hatásos.


Info <info at kiralyelektronika.hu> írta:
>Sziasztok !>
>Rájött már valaki, hogy hogyan lehet kikapcsolni a compilerben, hogy>
ne akarjon mindenáron __aeabi_memset meg hasonló függvényeket hívni ?>
Nekem saját initem van low-levelestől, de állandóan zargat ezzel.>
Olyat már nem is kérdek, hogy miért nem menti a regisztert ha>
definiálom "__no_init dword opr2 @ r9;" és használom is...>
>
Thx!>
Béla>
>
>
----------------------------------------->
          elektro[-flame|-etc]



More information about the Elektro mailing list