Vorlage Diskussion:Infobox Assembler

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Änderung der Vorlage[Quelltext bearbeiten]

Die Vorlage zeigt nun leere Felder nicht mehr an. Sobald die Felder gefüllt werden, werden die jeweiligen Felder auch wieder angezeigt --Joystick 10:07, 10. Jul 2006 (CEST)

Fehlerhafte Anzeige bei JSR[Quelltext bearbeiten]

Bei JSR stimmt die Tabellenstruktur nicht: Takt 2 wird rechts neben Takt 1 angezeigt, statt darunter. --Berni (Diskussion) 12:43, 22. Jun. 2025 (CEST)

Danke für den Hinweis, ist korrigiert. --Fedi (Diskussion) 22:54, 22. Jun. 2025 (CEST)
Bei den Branch-Befehlen stimmt auch noch was nicht. Die können niemals 5 Taktzyklen haben: Wenn nicht verzweigt wird sind es 2, wenn verzweigt wird 3 und wenn dabei zusätzlich eine Seitengrenze überschritten wird sind es 4. --Berni (Diskussion) 18:30, 7. Jul. 2025 (CEST)
Stimmt, in der Quelle sind die Taktzyklen dazu etwas verwirrend beschrieben. Jetzt sollte es passen. --Fedi (Diskussion) 18:45, 13. Jul. 2025 (CEST)
Noch nicht ganz... Angeblich kann in Taktzyklus 4 das High-Byte des Programmzählers (PCH) ungültig sein (erkennbar am Sternchen hinter "PC"). Tatsächlich kann das High-Byte des Programmzählers aber in Taktzyklus 3 ungültig sein, und in Taktzyklus 4 stimmt es dann auf jeden Fall.
Der Vermerk "z.B. um 256 Bytes zu hoch oder niedrig." ist auch irreführend — besser wäre "um 1 zu hoch oder zu niedrig", schließlich geht es um PCH und nicht um den Programmzähler PC. --Stephan64 (Diskussion) 18:59, 13. Jul. 2025 (CEST)
Beim zweiten Punkt stimme ich dir zu, nicht aber beim ersten. Nach dem vierten Taktzyklus stimmt der PCH, ansonsten bräuchte es den Zyklus ja nicht. Das bedeutet, dass in Zyklus 4 die CPU einen Opcode einliest, aber von der falschen Page. --Fedi (Diskussion) 19:15, 13. Jul. 2025 (CEST)
Sollte das nicht "dass in Zyklus 3 die CPU einen Opcode einliest, aber von der falschen Page" heißen?
Zyklus 4 wird doch genau dann nach Zyklus 3 eingeschoben, falls das Sprungziel in einer anderen Page als der Sprungbefehl liegt - und zwar deshalb, weil in Zyklus 3 PCH noch nicht der Übertrag aus der Addition "PCL + Sprungoffset" berücksichtigt. In Zyklus 3 stimmt also der PC noch nicht, und der Lesezugriff liest eine falsche Speicherzelle.
Vielleicht um Missverständnissen vorzubeugen: Mich stört nur das Sternchen an "PC" in Zyklus 4 (das hätte ich gern am PC in Zyklus 3), alles andere stimmt ja. --Stephan64 (Diskussion) 19:59, 13. Jul. 2025 (CEST)
Nein, denn in Zyklus 3 wird ja erst die Sprungadresse berechnet, daher liest die CPU dort den Opcode unmittelbar nach dem Offset-Byte ein. Tritt kein Seitenüberlauf auf, ist der anschließende Zyklus der erste des nächsten Befehls, anderenfalls wird Zyklus 4 ausgeführt. Wiederum wird ein Byte vom aktuellen, noch falschen PC gelesen und gleichzeitig die Highbyte-Korrektur durchgeführt. --Fedi (Diskussion) 22:21, 13. Jul. 2025 (CEST)