Forum

From PMD 85 Infoserver

Jump to: navigation, search
:: back to start of topic :: back to topic list ::
Message
Author  Author ::  Roman Bórik
Posted  Posted ::  2015-12-13 07:24:14 PM
Subject  Subject ::  Re: Problém s emulátorem - instrukce MVI A,xx
Nuž, to sa mi nejako nezdá, že by sa zle vykonávali inštrukcie pri krokovaní.
Skôr si myslím, že si narazil na známy problém s výpisom listingu inštrukcií v hornom okienku.
Pred aktuálnou inštrukciou (na ktorú ukazuje PC) sa vypisujú dve inštrukcie. Tieto dve inštrukcie sa musia "nejako" dohľadať. Algoritmus, ktorý to robí nie je ideálny (= je zjavne blbý) a tak sa niekedy stane, že sa po vykonaní inštrukcie zobrazí listing nekorektne a zdá sa, že program "skočil" niekde mimo...
Register PC má správnu hodnotu, ale zvýraznený riadok ukazuje "inštrukciu" o 1 byte pred alebo za.
Ďalšie krokovanie sa ale nepozerá na to, čo je zobrazené, ale na skutočnú hodnotu registra PC, takže sa určite vykoná ďalšia inštrukcia správne.
Skús si dať do dolného okienka výpis inštrukcií a register PC. Tam budeš vidieť, že sa inštrukcie krokujú správne.
Už mám nejakú úvahu, ako to (o)upraviť. Napíšem si to do TODO listu.
 
Message
Author  Author ::  Tomáš Pecina
Posted  Posted ::  2015-12-15 12:23:28 AM
Subject  Subject ::  Re: Problém s emulátorem - instrukce MVI A,xx
>Algoritmus, ktorý to robí nie je ideálny (= je zjavne blbý) a tak sa niekedy stane, že sa po vykonaní inštrukcie zobrazí listing nekorektne a zdá sa, že program "skočil" niekde mimo...

Neřekl bych, že algorithmus máte blbě, ale tato úloha je algorithmicky neřešitelná. Představte si, že by před instrukcí, na kterou ukazuje PC, byla sekvence mnoha bytů 0x3e a jednou 0x00. Nelze rozhodnout, jestli poslední nula je NOP nebo parametr předchozí instrukce MVI; obě varianty jsou možné a nepomůžete si, ani když postoupíte k předchozím bytům, i ty nabízejí dvě stejně validní interpretace.
 
Message
Author  Author ::  Libor L.A.
Posted  Posted ::  2015-12-13 08:11:32 PM
Subject  Subject ::  Re: Problém s emulátorem - instrukce MVI A,xx
Snad máš pravdu. Ještě to ověřím. Díky za odpověď.
 
Message
Author  Author ::  Libor L.A.
Posted  Posted ::  2015-12-14 03:59:46 PM
Subject  Subject ::  Re: Problém s emulátorem - instrukce MVI A,xx
Tak dnes jede samo od sebe všechno OK, dokonce začalo fungovat i časování na bázi 8253, které včera také přestalo poslouchat. Asi byl včera špatný den. Musím si najít ten článek v Amatérském Radiu "Bioenergetická senzibilita mikročipů", který jsem kdysi pokládal za legraci, nevhodnou do tak důstojného časopisu. Snad tam najdu vysvětlení :)
:: back to start of topic :: back to topic list ::