Z80Ardu – PC16550 Ausgabe
Hier die Routine mit der ich die ersten Daten über die serielle Schnittstelle des Z80Ardu ausgegeben habe:
WeiterlesenElektronikprojekte als Hobby
Hier die Routine mit der ich die ersten Daten über die serielle Schnittstelle des Z80Ardu ausgegeben habe:
WeiterlesenDie 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.
WeiterlesenDie hier vorgestellte kleine Routine errechnet die Integer-Quadratwurzel aus einer im Register HL gegebenen 16-Bit-Zahl. Das Ergebnis wird im Register DE gespeichert. Und hier noch eine Variante, bei der das Ergebnis im Register A landet. Das Register HL nimmt wieder die Zahl auf, aus der die Quadratwurzel ermittelt werden soll.
WeiterlesenEin Byte im Register A schnell „links machen“, also umdrehen, geht so:
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