Diskussion:STA ($ll), Y

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Sicher, das das Richtig ist mit 6 Takten? alle anderen Befehle mit dieser Adressierungsart haben nur 5 Takte

Das gilt aber nur für LESENDE Befehle, und auch nur dann, wenn Adresse+Y in der gleichen Page liegt wie die Adresse, auf die der ZP-Zeiger zeigt, ansonsten brauchen die auch 6 Takte. Die können sich als Abkürzung erlauben, erstmal von ner evtl. zu niedrigen Page zu lesen, während das Highbyte noch berechnet wird, und lassen den Extrazyklus weg, wenn sich dort nichts ändert. Beim Schreibzugriff hätte sowas aber Datenverlust zur Folge. Das gilt prinzipiell auch für STA $hhll,X/Y, nicht jedoch für STA $ll,X/Y, da ist das Adress-Hibyte sozusagen fest auf 0 verdrahtet.Colt Seavers 22:30, 21. Mär. 2014 (CET)
Danke für die Info --Sirrus 21:59, 21. Mär. 2014 (CET)
Gleich noch ne Frage: Wenn bei STA zp,x das Hi-Byte fest bei $00 ist, schreibe ich also mit STA $FF,X bei X=1 nach $0000 und nicht nach $0100 ?
ja genau, so ist das. Gilt übrigens auch bei (zp,x), wenn zp+x oder zp+1+x > $ff wird. Colt Seavers 22:30, 21. Mär. 2014 (CET)