Sisukord:

Z80-mbc2 Z80 koodvälk Kasutaja LED: 3 sammu
Z80-mbc2 Z80 koodvälk Kasutaja LED: 3 sammu

Video: Z80-mbc2 Z80 koodvälk Kasutaja LED: 3 sammu

Video: Z80-mbc2 Z80 koodvälk Kasutaja LED: 3 sammu
Video: Z80-MBC2: Z80 homebrew computer playing Startrek with CP/M 2024, November
Anonim
Z80-mbc2 Z80 koodvälgu kasutaja LED
Z80-mbc2 Z80 koodvälgu kasutaja LED

See on näide kasutaja LED-programmist, mis on kirjutatud Z80 kokkupanekus arvutile z80-mbc2.

Tegin selle testi ja ülevaatuse minu jaoks, see on minu esimene Z80 programm üle 35 aasta.

Nautige

Tarvikud

Z80-mbc2 arvuti

Z80ASM koopia SLR Systems Rel. 1.32, allalaaditav paljudest cp/m arhiividest

Toimetaja, kasutasin ZDE16, kuna see oli juba z80-mbc2 CP/M alglaadimispildil

Samm: installige Z80asm oma Z80-mbc2-le

Installige Z80asm oma Z80-mbc2-le
Installige Z80asm oma Z80-mbc2-le

Ma eeldan, et te teate mõningaid tööriistu, mis teil Z80-MBC2 jaoks on, nimelt mis tahes cpmtooli versiooni te kasutate. Käsurea versioonide kasutamisel toimige järgmiselt.

  1. Hankige failid z80asm.com ja z80asm.doc (valikuline) oma arvutis mõnda kohta kataloogi
  2. Pange oma SD -kaart samasse arvutisse, eeldan, et see kuvatakse draivina E: allpool.
  3. Panin komplekteerija oma CP/M kettale A, cp/m 2.2 jaoks, mis oleks kettapilt DS0N00. DSK
  4. Käsk: cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.com 0: kopeerib faili z80asm.com pildile
  5. Käsk cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.doc 0: kopeerib dokumentatsiooni kettale (valikuline)

Kui käivitate oma z80-mbc-s cp/m 2.2, peaks nüüd kettal A olema z80asm.com ja z80asm.doc (valikuline)

Samm: kopeerige lähtekood teile Z80-mbc2

Ühendage oma terminaliprogrammi abil z80-mbc-ga

Soovitan lähtekoodi salvestamiseks kasutada asustamata ketast, näiteks f: selle draivi tüübi valimiseks:

F:

mõne sekundi pärast näete viipa F:.

nüüd kasutage tühja faili muutmiseks draivi A programmi zde16:

a: zde16 myled.z80

See loob kettal F: fail nimega myled.z80, märkus: z80asm -i toimimiseks on nimes vaja.z80.

Nüüd kopeerige ja kleepige allolev kood, sõltuvalt terminali kiirusest jne. Võimalik, et peate kopeerima ja kleepima väikestesse osadesse. Või sisestage see! saada ka see 1980ndate tunne tagasi.

;

; Testige kasutaja LED -i ja kasutajavõtit; BDOS equ 05h; cp/m BDOS -i sisenemispunkt USRLED equ 0; optiline kood kasutaja LED -juhtimiseks USRKEY equ 80h; opcode kasutaja lüliti juhtimiseks DPORT equ 0; DATA port i/o CPORT equ 1; käsupordi väljund; org 0100h; ld (estack), sp; säilitage olemasolev teave, et naasta cp/m ld sp, stack; ld hl, msg; tere sõnumikõne _ sisestab lp: ld a, 1; sisselülitamine = 1 kõnejuhtimisega kõne viivitus; viivitus ja võtme (te) jr nz ootamine, lõpetamine; mitte null tähendab klahvi/lülitit vajutatud x või a; a = 0 kõnejuhtimisega kõne viivitus; viivitus või võtme/lüliti ootamine jr z, lp; kui null, võtit/lülitit pole, minge uuesti; viimistlus: x või a; klahvi või lülitit vajutati, nii et kõne kutsus ld hl, hüvasti; ütle hüvasti kõne _putid; kuva sõnum HL = ld sp, (estack); algne virna ret; naaseb cp/m; led: push af; salvestage led väärtus 0 või 1 ld a, USRLED out (CPORT), a; optcode saadeti pop af out (DPORT), a; andmed saadeti ret;; Viivitusahel, mis kontrollib klahvi vajutamist terminalile või kasutajavõtme viivitust: ld bc, 00e00h; umbes 1/2s 8mhz protsessor, puhas oletustöö tsükkel2: dets bc; loe silmuse tõuke bc; salvestage regid BDOS push de ld c helistamisel, 6; BDOS toores i/o kontrollige, kas klahvi vajutati ld e, 0ffh helistage BDOS pop de; hankige meie väärtused pinu pop bc või a; kontrollige, kas klahvi vajutatakse terminali ret nz; jah tagasitulek (hoiab ka nz lipu seatud) ld a, USRKEY; Nüüd kontrollige kasutajavõtit (CPORT), a; käsuport a -s, (DPORT); lugemisvõti ja a, 1; huvitatud ainult bitist 0 ret nz; tagastage, kui kasutajaklahv vajutas ld a, b; või on bc = 0 või c jr nz, loop2; pole loendamist lõpetanud, minge uuesti x või a; seadke z lipp väärtuseks 0 ret; tagastage klahvivajutuseta, viivituse lõpp; _puts: push bc; salvestage meie regid bdos -kõnedeks valmis push de nxt: ld a, (hl); hankige char või a; testige, kas see on 0, sõnumi lõpp jr z, valmis; jah nii tehtud ld e, a; seadistage kõne BDOS -ile, et printida sümbol c, 2 vajutage hl; salvestage teksti osuti kõne BDOS; printige see pop hl inc hl; järgmine sümbol jr nxt; jätkake: pop de; lõpetatud taastamisrežiimid pop bc ret; ja tagasi; msg db 'Kasutaja LED -test, suvaline klahv väljumiseks' db 0ah, 0dh, 0 bye db 'Exit' db 0ah, 0dh, 0 estack dw 0 ds 256 - 2 stack: dw 0

Salvestage fail, kasutades ESC x. Lisateabe saamiseks vaadake ZDE16 kasutusjuhendit, see on enamiku redigeerimiste jaoks natuke nagu sõnatäht, välja arvatud Ctrl-K valikud.

Samm: programmi koostamine ja käivitamine

Kui olete oma lähtekoodi masinasse sisestanud.

Tüüp:

F>

F> a: z80asm myled/a Z80ASM Autoriõigus (C) 1983-86, SLR Systems Rel. 1.32 MYLED/A Faili lõpp Pass 1 0 Tuvastatud viga (d). 406 absoluutset baiti. Tuvastatud 16 sümbolit.

See otsib faili myled.z80 ja toodab binaarfaili (.com), see on valik /a.

Lisateabe saamiseks vaadake faili z80asm.doc.

Programmi käivitamiseks tippige:

F> myled

Kasutaja LED -test, suvaline klahv väljumiseks F>

Väljumiseks vajutage kas kasutaja nuppu või terminali klahvi.

Valmis.

Soovitan: