Z80 – Plotroutine
Die hier gezeigte Routine wurde für den VDC MC6847 entwickelt. Und dort speziell für die Auflösung 256 x 192 Pixel mit zwei Farben.
WeiterlesenElektronikprojekte als Hobby
Hier gibt es kleine Codeschnipsel für den Z80-Prozessor
Die hier gezeigte Routine wurde für den VDC MC6847 entwickelt. Und dort speziell für die Auflösung 256 x 192 Pixel mit zwei Farben.
WeiterlesenDer folgende Code rechnet eine bis zu 16 Bit große Zahl in eine Binärzahl um und gibt diese aus. Die Ausgaberoutine ist nicht Teil des Codeschnipsels.
WeiterlesenEin Byte im Register A schnell „links machen“, also umdrehen, geht so:
WeiterlesenUmrechnung von Dezimal in Hexadezimal von 4 Bit (Nibble) bis 32 Bit (DWord). Die Routine sieht eine Ausgabe auf einem Ausgabekanal vor. Die Ausgabe ist nicht Teil der Routine
WeiterlesenDer Z80 hat leider auch keinen Befehl für eine Division. Zwar kann man mit Bit-Shifting einiges bewirken, die Möglichkeiten sind aber begrenzt. Also muss eine kleine Routine her. Hier eine 8 Bit-Division der Form BC=HL/E (Also Register HL durch Register E, Ergebnis in Register BC). Die Routine bedient sich der einfach Subtraktion.
WeiterlesenDer Z80 hat selbst keine direkten Maschinenbefehle für Multiplikationen an Bord…. Leider! Aber OK, aus der Schule wissen wir, dass eine Multiplikation auch problemlos durch Additionen dargestellt werden kann. Im Folgenden nun eine kleine Routine für 8 Bit-Multiplikationen mit max 16 Bit Ergebnis Folgende Register werden genutzt: HL = ErgebnisD = MultiplikatorE = Multiplikand
WeiterlesenDie Warteschleife ist zwar eine Sünde, da sie den Prozessor im Kreis herum schickt und wertvolle Rechenzeit vergeuden lässt. Aber in vielen Situationen ist man auf eine Warteschleife angewiesen um das Timing für Signale zu erreichen oder um Geschehnisse beobachten zu können, die bei voller Geschwindigkeit nicht nachvollziehbar wären. Ausgehend von einem Prozessortakt von 4MHz sieht das wie folgt aus: Das macht im Beispiel 2,5 µs für das Laden des Registers BC. Dann 35 µs pro Schleifendurchlauf. Die Anzahl der
WeiterlesenMit dieser kleinen Routine lassen sich ganz einfach und schnell große Datenbereiche im Speicher kopieren.
Weiterlesen