![Z80-mbc2 Z80-koodisalama Käyttäjän LED: 3 vaihetta Z80-mbc2 Z80-koodisalama Käyttäjän LED: 3 vaihetta](https://i.howwhatproduce.com/images/002/image-4451-j.webp)
Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:41
![Z80-mbc2 Z80-koodisalama Käyttäjän LED Z80-mbc2 Z80-koodisalama Käyttäjän LED](https://i.howwhatproduce.com/images/002/image-4451-1-j.webp)
Tämä on esimerkki käyttäjän LED-ohjelmasta, joka on kirjoitettu Z80-kokoonpanossa z80-mbc2-tietokoneelle.
Tein tämän testi- ja tarkistusharjoituksen minulle, tämä on ensimmäinen Z80 -ohjelmani yli 35 vuoteen.
Nauttia
Tarvikkeet
Z80-mbc2 tietokone
Kopio Z80ASM: stä SLR Systems Rel. 1.32, ladattavissa monista cp/m -arkistoista
Toimittaja, käytin ZDE16: ta, koska se oli jo CP/M-käynnistyskuvassa z80-mbc2: lle
Vaihe 1: Asenna Z80asm Z80-mbc2 -laitteeseen
![Asenna Z80asm Z80-mbc2 -laitteeseesi Asenna Z80asm Z80-mbc2 -laitteeseesi](https://i.howwhatproduce.com/images/002/image-4451-2-j.webp)
Oletan, että tiedät jonkin verran Z80-MBC2-laitteesi työkaluista, eli käyttämästäsi cpmtools-versiosta. Jos käytät komentoriviversioita, toimi seuraavasti:
- Hae tiedostot z80asm.com ja z80asm.doc (valinnainen) hakemistoon jossain paikassa isäntäkoneellasi
- Aseta SD -korttisi samaan tietokoneeseen, oletan, että se näkyy alla asemana E: alla.
- Laitoin kokoonpanijan CP/M -levylle A, cp/m 2.2, joka olisi levykuva DS0N00. DSK
- Komento: cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.com 0: kopioi tiedoston z80asm.com kuvaan
- Komento cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.doc 0: kopioi asiakirjat levylle (valinnainen)
Kun käynnistät cp/m 2.2 -laitteen z80-mbc-tietokoneellasi, asemalla A pitäisi nyt olla z80asm.com ja z80asm.doc (valinnainen).
Vaihe 2: Kopioi lähdekoodi Z80-mbc2
Yhdistä z80-mbc pääteohjelmalla
Suosittelen käyttämään asuttamatonta levyä lähdekoodin tallentamiseen, esimerkiksi f: tämän asematyypin valitsemiseksi:
F:
muutaman sekunnin kuluttua näet F: -kehotteen.
muokkaa nyt tyhjää tiedostoa aseman A zde16 -ohjelmalla:
a: zde16 myled.z80
Tämä luo tiedoston nimeltä myled.z80 levylle F:, Huomaa:.z80 vaaditaan nimessä, jotta z80asm toimii.
Kopioi ja liitä alla oleva koodi, riippuen päätelaitteen nopeudesta jne. Sinun on ehkä kopioitava ja liitettävä pieniin osiin. Tai kirjoita se! saat myös sen 1980 -luvun tunteen takaisin.
;
; Testaa käyttäjän LED ja käyttäjän avain; BDOS equ 05h; cp/m BDOS -tulopiste USRLED equ 0; opcode käyttäjän LED -ohjaukselle USRKEY equ 80h; opcode User Switch -ohjaukselle DPORT equ 0; DATA -portti i/o CPORT equ 1; Komentoportin lähtö; org 0100h; ld (estack), sp; säilytä olemassa olevat tiedot palataksesi cp/m ld sp, pino; ld hl, msg; hello message call _putes lp: ld a, 1; turn on = 1 call led call delay; delay and wait for key (s) jr nz, finish; non zero tarkoittaa näppäintä/kytkintä painettuna xor a; a = 0 puhelun johtaman puhelun viive; viive tai odota avainta/kytkintä jr z, lp; jos nolla, ei avainta/kytkintä, mene uudelleen; viimeistely: x tai a; näppäintä tai kytkintä painettiin, joten puhelu johti ld hl, heippa; sano hyvästi puhelu _putket; näytä viesti HL = ld sp, (estack); alkuperäinen pino ret; palaa cp/m; led: push af; tallenna led -arvo 0 tai 1 ld a, USRLED out (CPORT), a; optkoodi lähetetty pop af out (DPORT), a; tiedot lähetetty ret;; Viivästyssilmukka, joka tarkistaa päätelaitteen painetun näppäimen tai käyttäjäavaimen viiveen: ld bc, 00e00h; noin 1/2s 8mhz CPU, puhdas arvaussilmukka2: dec bc; laske silmukan push bc; tallenna regs kutsuttaessa BDOS push de ld c, 6; BDOS -raaka i/o -tarkistus, painetaanko näppäintä ld e, 0ffh kutsuu BDOS pop de; hae arvomme takaisin pino pop bc tai a; tarkista, onko näppäintä painettu terminaalissa ret nz; kyllä paluu (pitää myös nz -lipun asetettuna) ld a, USRKEY; Tarkista nyt käyttäjäavain (CPORT), a; komentoportti a, (DPORT); lukunäppäin ja a, 1; kiinnostunut vain bitistä 0 ret nz; palaa, jos käyttäjäavain on painanut ld a, b; tai on bc = 0 tai c jr nz, silmukka2; laskeminen ei ole päättynyt, mene uudelleen xor a; aseta z -lippu arvoon 0 ret; palauta painamatta näppäintä, viiveen loppu; _puts: push bc; tallenna rekisterimme valmiiksi bdos -puheluihin push de nxt: ld a, (hl); hae char tai a; testaa, onko se 0, viestin loppu jr z, valmis; kyllä niin tehty ld e, a; määritä puhelu BDOS: lle tulostaaksesi char ld c, 2 push hl; tallenna tekstin osoitinsoitto BDOS; tulosta se pop hl inc hl; next char jr nxt; jatka tekemistä: pop de; valmis palautusrekisterit pop bc ret; ja palaa; msg db 'Käyttäjän LED -testi, mikä tahansa näppäin poistumiseen' db 0ah, 0dh, 0 bye db 'Exit' db 0ah, 0dh, 0 estack dw 0 ds 256-2 pino: dw 0
Tallenna tiedosto ESC x: llä. Katso lisätietoja ZDE16-käyttöoppaasta, se on vähän kuin wordstar useimmille muokkauksille, paitsi että Ctrl-K-vaihtoehdot ovat erilaisia.
Vaihe 3: Käännä ja suorita ohjelma
Kun olet saanut lähdekoodin koneeseen.
Tyyppi:
F>
F> a: z80asm myled/a Z80ASM Tekijänoikeus (C) 1983-86, SLR Systems Rel. 1.32 MYLED/A Tiedoston loppu Hyväksytty 1 0 Virheitä havaittu. 406 absoluuttista tavua. 16 Symbolit havaittu.
Tämä etsii tiedostoa myled.z80 ja tuottaa binaaritiedoston (.com), sitä vaihtoehto /a tarkoittaa.
Katso lisätietoja z80asm.doc -tiedostosta.
Suorita ohjelma kirjoittamalla:
F> myled
Käyttäjän LED -testi, mikä tahansa näppäin poistuaksesi Ex> F>
Poistu painamalla käyttäjäpainiketta tai päätelaitteen näppäintä.
Tehty.
Suositeltava:
Z80 -tietokoneen uudelleenkäynti: 6 vaihetta
![Z80 -tietokoneen uudelleenkäynti: 6 vaihetta Z80 -tietokoneen uudelleenkäynti: 6 vaihetta](https://i.howwhatproduce.com/images/001/image-1240-j.webp)
Z80-tietokoneen uudelleenkäynti: Olen aiemmin kirjoittanut oppaan Z80-pohjaisen tietokoneen rakentamisesta ja suunnitellut piirin mahdollisimman yksinkertaiseksi, jotta se voitaisiin rakentaa mahdollisimman helposti. Kirjoitin myös pienen ohjelman käyttäen samaa yksinkertaisuuden ajatusta. T
Elektroninen turvajärjestelmä, jossa RTC ja käyttäjän määrittämä PIN -koodi: 7 vaihetta
![Elektroninen turvajärjestelmä, jossa RTC ja käyttäjän määrittämä PIN -koodi: 7 vaihetta Elektroninen turvajärjestelmä, jossa RTC ja käyttäjän määrittämä PIN -koodi: 7 vaihetta](https://i.howwhatproduce.com/images/001/image-2187-26-j.webp)
Elektroninen turvajärjestelmä RTC: llä ja käyttäjän määrittämä PIN -koodi: Hei kaverit! Tämä on projekti, jonka tein pic -mikrokontrollerilla, sen elektronisella PIN -koodin suojausjärjestelmällä, jossa on reaaliaikainen kello ja käyttäjän määrittämät PIN -koodin ominaisuudet, tämä sivu sisältää kaikki yksityiskohdat, joiden avulla voit tehdä sellaisen itse
Monen käyttäjän älykäs peili Google -kalenterin kanssa: 10 vaihetta
![Monen käyttäjän älykäs peili Google -kalenterin kanssa: 10 vaihetta Monen käyttäjän älykäs peili Google -kalenterin kanssa: 10 vaihetta](https://i.howwhatproduce.com/images/001/image-667-54-j.webp)
Monen käyttäjän älykäs peili Google -kalenterin avulla: Tässä ohjeessa luomme älypeilin, joka on integroitu Google -kalenteriin. Tein tämän projektin, koska mielestäni älykkäät peilit ovat todella siistejä, ne ovat jumalattu aamulla. Mutta päätin tehdä yhden itse nollasta, koska kaikki muut
ARDUINO-VALIKKOSUUNNITTELU OLED-UI: lla (KÄYTTÄJÄN LIITÄNTÄ): 4 vaihetta
![ARDUINO-VALIKKOSUUNNITTELU OLED-UI: lla (KÄYTTÄJÄN LIITÄNTÄ): 4 vaihetta ARDUINO-VALIKKOSUUNNITTELU OLED-UI: lla (KÄYTTÄJÄN LIITÄNTÄ): 4 vaihetta](https://i.howwhatproduce.com/images/006/image-16235-13-j.webp)
ARDUINO-VALIKON SUUNNITTELU OLED-UI: lla (KÄYTTÄJÄLIITTYMÄ): Hei kaikki! Tässä opetusohjelmassa yritän selittää, kuinka tehdä ARDUINO-VALIKKO-SUUNNITTELU i2c OLED -näytön avulla. Se tunnetaan myös nimellä UI (User Interface). Sitä on käytetty monissa projekteissa, mutta sen on oltava sinulle tuttu 3D -tulostimista :) Tässä myös video
Käyttäjän rakentama litiumparisto -juotin: 8 vaihetta (kuvilla)
![Käyttäjän rakentama litiumparisto -juotin: 8 vaihetta (kuvilla) Käyttäjän rakentama litiumparisto -juotin: 8 vaihetta (kuvilla)](https://i.howwhatproduce.com/images/003/image-8043-15-j.webp)
Käyttäjän rakentama litium -paristokäyttöinen juotosrauta: Löysin äskettäin ylijäämälähteen Weller (r) BP1 -paristokäyttöisille juotosvihjeille. Rakennan usein omia työkalujani, ja hyllyratkaisujen löytäminen maksaa myös