Locate wird schneller…

Determinismus in Assembler 🙂

„LOCATE“ nimmt eine Schlüsselstellung innerhalb des Source von Rock ein. Die Subroutine berechnet in Abhängigkeit von der vorgegebenen X und Y Bildschirmkoordinate die Adresse im Bildspeicher um von dort entweder zu lesen oder dorthin zu schreiben.

Die erste Version tat dies, indem eine Schleife durchlaufen wurde – von 0 bis Y – und dabei die Adresse um jew. die Spalzenzahl erhöht wurde. Am Schluss wurde noch X dazu addiert und fertig.

Ohne Schleife geht’s auch und das sogar viel schneller. Die Zeilenadressen werden einfach in einer Tabelle abgelegt, dann wird es möglich, ohne Schleife, die jew. Adresse direkt aus der Tabelle gelesen. fertig:

 

Das Spielchen läuft nun flüssiger!

 


Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

w

Verbinde mit %s

%d Bloggern gefällt das: