Microchip-C18 x htsoft-C18
andrej jancura
hw_aj@zoznam.sk
Sobota Listopad 4 16:41:02 CET 2006
Ahoj,
> Ne da se tam zapisovat i cist po jednom byte.
No tot (ne)vyhoda 16-bitovej datovej zbernice...
> Trva to jednu instrukci,
> ale pointer je tri byte.
Ako inac chces zabezpecit kompatibilitu kodu medzi CPU s 8 KB Flash a
povedzme 1MB?
> Vysledny kod je des a hruza, C dava poradne
> zabrat vypocet adresy promenne.
Toto je dan za to, ze sa pouziva strikne 8-bitova aritmetika.
> Zjistil jsem nektere prasarny. Napriklad
> Pokus=Pokus+1;. Pointer se vypocitava dvakrat!! HT-soft vubec nepouziva
> instrukce s aut. inkrementaci a dekrementaci TBLPTR. Napriklad pri cteni
> dvou po sobe lezicich instrukci.
Ked sa zamyslis nad tym, ze potrebujes napr: A = *Pointer;Pointer++; Ako
chces zabezpecit inkrementaciu toho pointeru? Register na adresovanie nie
su adresa v RAM-ke. Okrem toho pokial sa dobre pamatam boli CPU, ktore
mali chyby prave pri pristupe ku FLASH.
> Zrovna jsem ve stadiu testu kompilatoru.
Tak prajem prijemnu zabavu. A nezabudni programovat stylom ala ASM teda
najprv si predstav ako by ten kod mal vyzerat v ASM, usetri to dost pamati
kodu.
Andrej
Další informace o konferenci Hw-list