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