MPLAB C30 a smerniky na funkcie
andrej jancura
hw_aj@zoznam.sk
Pátek Červen 15 23:35:34 CEST 2007
Ahoj,
> >Pokud vim, handle je ukazatel na ukazatel. Jaky efekt potrebujete
> >pomoci ukazatele na funkci docilit? Neda se to udelat i jinak?
> >
> >
> >
> Potrebujem vsetky poznat 3 bajty adresy, nic viac. Plnia sa potom do
> zasobnika. Neviem ako sa k nim dostat.
Teda pravdu povediac, 3 byty nie su 4 byty, a potom ako to ma ten kompilator
vediet, to by musel mat specialny typ na pointer 24 bitov... A to je ten
filozoficky problem, on ma len 16bitov.
Na zaciatok by som jednoducho napisal kod v asm, nieco ako
movlw upper(Adresa)
push
movlw high(Adresa)
push
movlw low(Adresa)
push
> S tym co odporuca microchip je to zhruba tak, ze sa vytvori pole
> "handlerov" v spodnej casti pamati. Fakticky su to gota na funkcie, lebo
> goto obsahuje kompletnu adresu. Mozno by sa to dalo nejako pouzit, ale
> nie je mi jasne ako to zadeklarovat.
Isty nemenovany kompilator C pre PIC to na predpotopnych PIC-och robil
rovnako, vygeneroval tabulku s goto na funkciu. Kod v C bol standardny,
funkcia sa volala tusim nasledovne
p_funkcia = funkcia;
*p_funkcia();
Ako to presne je, to by som musel pohladat vo svojich tips&tricks...
A.
p.s. ja by som si stiahol demo toho isteho nemenovaneho kompilatora a pozrel
ako volanie funkcii riesi on, pripadne ako sa deklaruje pole funkcii v C.
Ale to co potrebujes Ty pojde urcite vyriesit cez asm.
--- reklama -----------------------------------------------------
Ako si píše každý druhý človek na Slovensku?
Cez Zoznam ICQ - http://icq.zoznam.sk/
Další informace o konferenci Hw-list