Z80Ardu – PC16550 Ausgabe
Hier die Routine mit der ich die ersten Daten über die serielle Schnittstelle des Z80Ardu ausgegeben habe:
WeiterlesenElektronikprojekte als Hobby
Basteleien mit dem Z80-Prozessor
Hier die Routine mit der ich die ersten Daten über die serielle Schnittstelle des Z80Ardu ausgegeben habe:
WeiterlesenEine echte Zufallszahl mit einem Computer zu erzeugen ist oft schwierig. Allerdings reichen für viele Anwendungen auch Pseudo-Zufallszahlen. Das nachfolgende kleine Programm erzeugt eine solche Pseudo-Zufallszahl.
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.
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:
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.
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.
Weiterlesenin 2016 nahm ich mir vor, selbst einen Computer zu entwickeln. Als Vorbild sollten Computer der frühen 80er Jahre dienen. In erster Linie der VZ200 von Video Technologies (mein erster Heimcomputer). Dieser Computer hatte einen recht einfachen Aufbau und der Schaltplan war für mich einigermaßen verständlich. Die Entwicklung ist auch in 2020 noch nicht abgeschlossen. Inzwischen wurden folgende Teile entwickelt: Die frühen Versionen des Z80Ardu wurden noch mit einem Arduino Nano gesteuert. Der Nano „bestückt“ den Speicher des Z80-Rechners über
Weiterlesen