Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Installieren Sie Z80asm auf Ihrem Z80-mbc2
- Schritt 2: Kopieren Sie den Quellcode zu Ihnen Z80-mbc2
- Schritt 3: Kompilieren und Ausführen des Programms
Video: Z80-mbc2 Z80 Code Flash Benutzer-LED - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
Dies ist ein Beispiel für ein Benutzer-LED-Programm, das im Z80-Assembler für den z80-mbc2-Computer geschrieben wurde.
Ich habe dies als Test- und Revisionsübung für mich gemacht, dies ist mein erstes Z80-Programm seit über 35 Jahren.
Genießen
Lieferungen
Z80-mbc2-Computer
Eine Kopie von Z80ASM von SLR Systems Rel. 1.32, herunterladbar aus vielen cp/m-Archiven
Als Editor habe ich ZDE16 verwendet, da es bereits auf dem CP/M-Boot-Image für den z80-mbc2 war
Schritt 1: Installieren Sie Z80asm auf Ihrem Z80-mbc2
Ich gehe davon aus, dass Sie mit den Tools, die Sie für Ihr Z80-MBC2 haben, vertraut sind, nämlich welche Version von cpmtools Sie verwenden. Hier sind die Schritte, wenn Sie die Befehlszeilenversionen verwenden:
- Laden Sie die Dateien z80asm.com und z80asm.doc (optional) in ein Verzeichnis auf Ihrem Host-PC
- Legen Sie Ihre SD-Karte in den gleichen PC ein, ich gehe davon aus, dass sie unten als Laufwerk E: angezeigt wird.
- Ich lege den Assembler auf meine CP/M-Disk A, für cp/m 2.2 wäre das das Disk-Image DS0N00. DSK
- Der Befehl: cpmcp -f z80mbc2-d0 e:DS0N00. DSK z80asm.com 0: kopiert die Datei z80asm.com in das Image
- Der Befehl cpmcp -f z80mbc2-d0 e:DS0N00. DSK z80asm.doc 0: kopiert die Dokumentation auf die Diskette (optional)
Wenn Sie cp/m 2.2 auf Ihrem z80-mbc booten, sollten Sie jetzt z80asm.com und z80asm.doc (optional) auf Laufwerk A haben
Schritt 2: Kopieren Sie den Quellcode zu Ihnen Z80-mbc2
Stellen Sie mit Ihrem Terminalprogramm eine Verbindung zum z80-mbc her
Ich schlage vor, dass Sie eine unbestückte Festplatte verwenden, um den Quellcode zu speichern, zum Beispiel f: um diesen Laufwerkstyp auszuwählen:
F:
Nach einigen Sekunden sehen Sie die Eingabeaufforderung F:.
Verwenden Sie nun das Programm zde16 auf Laufwerk A, um eine leere Datei zu bearbeiten:
a:zde16 myled.z80
Dadurch wird eine Datei namens myled.z80 auf der Festplatte F: erstellt. Hinweis: Die.z80 ist im Namen erforderlich, damit z80asm funktioniert.
Kopieren Sie nun den folgenden Code und fügen Sie ihn ein. Abhängig von Ihrer Terminalgeschwindigkeit usw. müssen Sie möglicherweise in kleinen Abschnitten kopieren und einfügen. Oder geben Sie es ein! Holen Sie sich auch das Gefühl der 80er zurück.
;
;Testen Sie die Benutzer-LED und den Benutzerschlüssel; BDOS equ 05h;cp/m BDOS-Einstiegspunkt USRLED equ 0;Opcode für Benutzer-LED-Steuerung USRKEY equ 80h;Opcode für Benutzer-Switch-Steuerung DPORT equ 0;DATEN-Port i/o CPORT equ 1;Befehlsport-Ausgang; org 0100h; ld (estack), sp;behalten Sie vorhandene Informationen für die Rückkehr zu cp/m ld sp, stack; ld hl, msg;Hallo Message Call _puts lp: ld a, 1;turn on = 1 call led call delay;verzögern und warten auf Taste(n) jr nz, beenden;nicht null bedeutet Taste/Schalter gedrückt xor a;a= 0 Anruf führte Anrufverzögerung;Verzögern oder warten auf Taste/Schalter jr z, lp;wenn Null, kein Schlüssel/Schalter, gehen Sie erneut; beenden: xoder ein;Taste oder Schalter wurde gedrückt, also fertig call led ld hl, bye;sag tschüss call _puts;display msg HL= ld sp, (estack);original stack ret;return to cp/m; led: push af;save led value 0 or 1 ld a, USRLED out (CPORT), a;optcode gesendet pop af out (DPORT), a;Daten gesendet ret;;Verzögerung der Schleife, die die Prüftaste auf dem Terminal oder der Benutzertaste gedrückt hat Verzögerung: ld bc, 00e00h;ca. 1/2s 8mhz CPU, reine Vermutungsarbeit Schleife2: dec bc;die Schleife zählen push bc;Regs speichern beim Aufruf von BDOS push de ld c, 6;BDOS raw i/o check ob Taste gedrückt ld e, 0ffh BDOS pop de aufrufen;unsere Werte vom Stack zurückholen pop bc oder a;check ob Taste am Terminal gedrückt ret nz;yes zurück (behält auch nz Flag gesetzt) ld a, USRKEY;Nun check User Key out (CPORT), a;command port in a, (DPORT);read key und a, 1;nur interessiert an Bit 0 ret nz;return wenn Userkey gedrückt ld a, b;oder is bc=0 oder c jr nz, loop2;Zählung nicht beendet, weiter xor a;z-Flag auf 0 setzen ret;return keine Taste gedrückt, Ende der Verzögerung; _puts: push bc;speichere unsere Regs bereit für bdos-Aufrufe push de nxt: ld a, (hl);char oder a abrufen;test ob es 0 ist, Ende der Nachricht jr z, fertig;ja so fertig ld e, a; Aufruf an BDOS einrichten, um ein char ld c zu drucken, 2 hl drücken;Textzeiger speichern BDOS aufrufen;ausgeben pop hl inc hl;nächstes char jr nxt;weitermachen: pop de;beendete Wiederherstellungsregs pop bc ret;und zurück; msg db 'User LED Test, jede Taste zum Beenden' db 0ah, 0dh, 0 bye db 'Exit' db 0ah, 0dh, 0 estack dw 0 ds 256 - 2 stack: dw 0
Speichern Sie die Datei mit ESC x. Weitere Informationen finden Sie im ZDE16-Gebrauchshandbuch. Es ist für die meisten Bearbeitungen ein bisschen wie Wordstar, außer dass die Strg-K-Optionen anders sind.
Schritt 3: Kompilieren und Ausführen des Programms
Sobald Sie Ihren Quellcode auf dem Computer haben.
Typ:
F>
F>a:z80asm myled/a Z80ASM Copyright (C) 1983-86 von SLR Systems Rel. 1.32 MYLED/A Dateiende Pass 1 0 Fehler erkannt. 406 Absolute Bytes. 16 Symbole erkannt.
Dies sucht nach der Datei myled.z80 und erzeugt eine Binärdatei (.com), dafür steht die Option /a.
Weitere Informationen finden Sie in der Datei z80asm.doc.
Um das Programm auszuführen, geben Sie Folgendes ein:
F>myled
Benutzer-LED-Test, beliebige Taste zum Beenden Exit F>
Drücken Sie zum Beenden entweder die Benutzertaste oder eine Taste am Terminal.
Fertig.
Empfohlen:
So formatieren Sie Code auf Discord (Mobile): 10 Schritte
So formatieren Sie Code auf Discord (Mobil): Dieser Befehlssatz ist für Leute gedacht, die regelmäßig programmieren und auch die Discord-App verwenden. Dies wird Ihnen beibringen, wie Sie Text senden und ihn dann in eine beliebige Programmiersprache formatieren
So laden Sie C-Code in ِAVR mit Arduino Uno als Programmierer hoch – wikiHow
So laden Sie C-Code in ِAVR mit Arduino Uno als Programmierer hoch: Hallo allerseits: D Hier werde ich eine einfache Möglichkeit vorstellen, jeden AVR-Chip mit Arduino Uno R3 zu programmieren Programmierer was viel kostet
SPIEL MIT PYTHON CODE (FÜR Dummys!): 14 Schritte
CODE EIN SPIEL MIT PYTHON (FÜR DUMMIES!): Willkommen bei Python, der drittbeliebtesten Programmiersprache weltweit!… und wohl die einfachste! Wussten Sie, dass Youtube & Google hat beide Python als Hauptsprache für ihre versierten Apps & Webseiten sehen Sie? Tja… Nun ja
So laden Sie MicroPython-Code auf XBee 3 herunter: 18 Schritte (mit Bildern)
So laden Sie MicroPython-Code auf XBee 3 herunter: MicroPython ist eine von Python 3.0 inspirierte Programmiersprache, die auf Mikrocontrollern wie dem XBee 3 funktioniert . Ich fou jedoch
Englisch/Portugiesisch: S4A Como Instalar E Usar / S4A Installation und Benutzer: 7 Schritte
Englisch/Portugiesisch: S4A Como Instalar E Usar / S4A Installation und Benutzer: O S4A (oder Scratch für Arduino) é um sistema que baseado no Scratch que zulassen interagir diretamente com um Arduino.É uma forma muito didática de ensinar programação e verificar em tempo real a interaç&atild