Taula de continguts:
- Subministraments
- Pas 1: instal·leu Z80asm al vostre Z80-mbc2
- Pas 2: copieu el codi font a Z80-mbc2
- Pas 3: Compileu i executeu el programa
Vídeo: Z80-mbc2 Codi Z80 LED d'usuari Flash: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:10
Aquest és un exemple de programa LED d'usuari escrit en l'assemblador Z80 per a l'ordinador z80-mbc2.
Vaig fer un exercici de prova i revisió per a mi, aquest és el meu primer programa Z80 des de fa més de 35 anys.
Gaudeix
Subministraments
Ordinador Z80-mbc2
Una còpia de Z80ASM de SLR Systems Rel. 1.32, descarregable de molts arxius cp / m
Un editor, he utilitzat ZDE16, ja que ja apareixia a la imatge d’arrencada CP / M del z80-mbc2
Pas 1: instal·leu Z80asm al vostre Z80-mbc2
Assumeixo una certa familiaritat amb les eines que teniu per al vostre Z80-MBC2, és a dir, qualsevol versió de cpmtools que utilitzeu. Aquests són els passos per utilitzar les versions de línia d'ordres:
- Obteniu els fitxers z80asm.com i z80asm.doc (opcional) en un directori en algun lloc del vostre PC amfitrió
- Introduïu la targeta SD al mateix PC, suposo que a continuació es mostra com a unitat E: a continuació.
- Vaig posar el muntador al meu disc CP / M A, per a cp / m 2.2 que seria la imatge del disc DS0N00. DSK
- L'ordre: cpmcp -f z80mbc2-d0 e: DS0N00. DSK z80asm.com 0: copiarà el fitxer z80asm.com a la imatge
- L'ordre cpmcp -f z80mbc2-d0 e: DS0N00. DSK z80asm.doc 0: copiarà la documentació al disc (opcional)
Quan arrenceu cp / m 2.2 al vostre z80-mbc, ara hauríeu de tenir z80asm.com i z80asm.doc (opcional) a la unitat A
Pas 2: copieu el codi font a Z80-mbc2
Connecteu-vos al z80-mbc mitjançant el programa de terminal
Us suggereixo que utilitzeu un disc no poblat per desar el codi font, per exemple, f: per triar aquest tipus de disc:
F:
al cap d'uns segons veureu l'indicador F:.
ara utilitzeu el programa zde16 a la unitat A per editar un fitxer en blanc:
a: zde16 myled.z80
Això crearà un fitxer anomenat myled.z80 al disc F:, tingueu en compte que el fitxer.z80 és necessari al nom perquè funcioni el z80asm.
Ara copieu i enganxeu el codi que apareix a continuació, en funció de la velocitat del terminal, etc., és possible que hàgiu de copiar i enganxar en petites seccions. O escriviu-lo! aconseguir que la sensació dels anys vuitanta també es recuperi.
;
; Proveu el LED de l'usuari i la clau de l'usuari; BDOS equ 05h; cp / m punt d’entrada BDOS USRLED equ 0; codi d’opció per al control de l’usuari USRKEY equ 80h; codi d’opció per al control de commutació d’usuari DPORT equ 0; port de dades i / o CPORT equ 1; sortida del port d’ordres; org 0100h; ld (estack), sp; mantingui la informació existent per tornar a cp / m ld sp, stack; ld hl, msg; hello message call _puts lp: ld a, 1; active = 1 call led led delay; endarrereu i espereu les tecles jr nz, finalitzeu; no zero significa tecla / commutador premut xor a; 0 trucada led retard de trucada; retard o espera de la tecla / commutador jr z, lp; si és zero, no hi ha tecla / commutador, torneu a anar; acabat: xor a; es va prémer la tecla o l'interruptor, de manera que es va fer una trucada led ld hl, bye; say bye 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 sent pop pop out out (DPORT), a; data sent ret;; Bucle de retard que comprova la tecla premuda al terminal o retard de la tecla d'usuari: ld bc, 00e00h; aprox 1 / 2s 8mhz CPU, pure guess work loop2: dec bc; compta el bucle push bc; 6; BDOS raw i / o comprova si la tecla està premuda ld e, 0ffh truca a BDOS pop de; recupera els nostres valors de la pila pop bc o a; comprova si la tecla està premuda al terminal ret nz; a, USRKEY; Ara comproveu la clau d’usuari (CPORT), a; port d’ordres en a, (DPORT); tecla de lectura i a, 1; només interessa el bit 0 ret nz; torneu si la tecla d’usuari premia ld a, b; o és bc = 0 o c jr nz, bucle2; no s'ha acabat de comptar, torneu a anar xor a; configureu la bandera z a 0 ret; no torneu cap tecla premuda, final del retard; _puts: push bc; guardeu els nostres registres a punt per a les trucades bdos push de nxt: ld a, (hl); obteniu char o a; proveu si és 0, final de msg jr z, fet; sí, així ho feu ld e, a; configureu una trucada a BDOS per imprimir un cd ld, 2 premeu hl; deseu el punter de text, truqueu a BDOS; imprimiu-lo pop hl inc hl; següent jr nxt; continueu fent: pop de; finalitzeu la restauració regs pop bc ret; i torneu; msg db 'Prova LED d'usuari, qualsevol tecla per sortir' db 0ah, 0dh, 0 bye db 'Exit' db 0ah, 0dh, 0 estack dw 0 ds 256 - 2 pila: dw 0
Deseu el fitxer amb ESC x. Consulteu la guia d’ús de ZDE16 per obtenir més informació, és una mica com wordstar per a la majoria d’edicions, excepte que les opcions Ctrl-K són diferents.
Pas 3: Compileu i executeu el programa
Un cop tingueu el codi font a la màquina.
Tipus:
F>
F> a: z80asm myled / a Z80ASM Copyright (C) 1983-86 de SLR Systems Rel. 1,32 MYLED / A Final del fitxer Pass 1 0 Error (s) detectats. 406 bytes absoluts. 16 símbols detectats.
Això buscarà el fitxer myled.z80 i produirà un fitxer binari (.com), això és el que significa l'opció / a.
Consulteu el fitxer z80asm.doc per obtenir més informació.
Per executar el programa, escriviu:
F> myled
Prova LED d'usuari, qualsevol tecla per sortir de la sortida F>
Premeu el botó d'usuari o una tecla del terminal per sortir.
Fet.
Recomanat:
Sistema de seguretat electrònic amb RTC i Codi PIN de definició de l'usuari: 7 passos
Sistema de seguretat electrònic amb RTC i codi de definició de l'usuari: Hola nois! Aquest és un projecte que he fet amb un microcontrolador pic, que és un sistema electrònic de seguretat de codis PIN amb rellotge en temps real i funcions de codi PIN definides per l'usuari, aquesta pàgina conté tots els detalls per fer-ne un mateix. TREBALL I CONCEPTE: Bé
Convertidor basat en Esp8266 amb una interfície d’usuari Blynk increïble amb regulador de comentaris: 6 passos
Convertidor basat en Esp8266 amb una interfície d’usuari Blynk increïble amb regulador de retroalimentació: en aquest projecte us mostraré una forma comuna i eficient de com augmentar els voltatges de CC. Us mostraré el fàcil que pot ser construir un convertidor d’impuls amb l’ajut d’un Nodemcu. Construïm-ho. També inclou un voltímetre en pantalla i un feedback
Provador de bateria Arduino amb interfície d'usuari WEB: 5 passos
Comprobador de bateries Arduino amb interfície d'usuari WEB: Avui en dia, els equips electrònics utilitzen bateries de seguretat per estalviar l'estat en què es va deixar l'operació quan es va apagar l'equip o quan, per accident, es va apagar l'equip. L'usuari, en activar-se, torna al punt on es va quedar
Analitzador de lògica amb interfície d'usuari d'Android: 7 passos
Analitzador de lògica amb interfície d'usuari d'Android: el món ja està inundat de tants analitzadors de lògica. A la meva afició a l'electrònica, en necessitava per solucionar problemes i depurar-los. He buscat a Internet però no trobo el que busco. Així que aquí estic, presentant … " YET Another Lo
Anglès / portuguès: S4A Como Instalar E Usar / S4A Com instal·lar i usuari: 7 passos
Anglès / portuguès: S4A Como Instalar E Usar / S4A Com instal·lar i usuari: O S4A (o Scratch for Arduino) é um sistema que baseado no Scratch que permet interagir directament amb Arduino. É uma forma muito did á tica de ensinar programa ç ã o e verificar em tempo real a intera ç & atild