Chyba pekladace
Petr Weissar
weissar
Středa Březen 17 11:36:08 CET 2004
Diky za odpoved.
>> A kde je chyba ?? Cely modul ma nastaveno Bank 2 (to je videt i v =
>tomhle SRC
>> tim USING 2). No a prekladac na ukazanem miste pouzije AR5 misto R5. =
>Ale AR5
>> je registr v Bank 0. No a pak ten program nekdy chodi, podle stavu =
>AR5. Dela
>
> ^^^^^^^^^ a od kdy ??, alespon Intel ASM ti neprelozi =
>konstrukci a AR5 prave bez toho USING 2, neni to totiz "absolutni" =
>konstanta, ale zalezi prave na USING, tedy alespon tak to autor myslel. =
>Ten program Ti chodi podle toho, jestli skutecne volas tu funkci z casti =
>programu, kde mas nastavenu banku registru 2 nebo neco jineho. Jinak =
>receno USING je pouze direktiva urcujici jak se bude zachazet s =
>parametry typu ARn, nikoliv vsak fyzicke prepnuti registru.
No a prave to mi takhle nefunguje. Kdyz natvrdo napisu v in-line asm presun
z registru R4 a R5, tak program chodi (takze banka je prepnuta dobre), pokud
se to prelozi s AR5, tak nechodi a dava se tam 0, coz je nejcastejsi obsah
toho R5 v RB0. To je odzkouseny experimentalne a opakovane. Neznamena
nahodou ten AR5 shanuti primo na registr podle jeho adresy v RAM ?? (Bez
ohledu na nastavenou RB ??) To prece jde, ne ??
Jinak diky za dalsi maily s vypisem kodu z verze 5, ale tam je taky pouzit
AR5 (kompilace 23/07/98 21:39:49 :-O).
U verze 6 to je trochu slozitejsi, je tam volani nejakeho divoke subrutiny a
R5 je pouzito spravne, ale zrejme jsou jinak nastaveny optimalizace.
Ale zda se, ze i ta 5 tenhle BUG ma, ne ???
Petr
+--------------------------------+
| Ing. Petr Weissar |
+--------------------------------+
| weissar@kae.zcu.cz |
| adela.zcu.cz/~weissar |
+--------------------------------+
| Zapadoceska univerzita, Plzen |
+--------------------------------+
Další informace o konferenci Hw-list