Sadržaj:

Z80-mbc2 Z80 Šifra blica LED za korisnika: 3 koraka
Z80-mbc2 Z80 Šifra blica LED za korisnika: 3 koraka

Video: Z80-mbc2 Z80 Šifra blica LED za korisnika: 3 koraka

Video: Z80-mbc2 Z80 Šifra blica LED za korisnika: 3 koraka
Video: RPC 1x06: LM80C progettare e costruire da zero un computer a 8 bit - intervista a Leonardo Miliani 2024, Novembar
Anonim
Z80-mbc2 Z80 Šifra blica LED korisnička LED
Z80-mbc2 Z80 Šifra blica LED korisnička LED

Ovo je primjer korisničkog LED programa napisanog u Z80 asembleru za računar z80-mbc2.

Napravio sam za sebe test i reviziju, ovo je moj prvi program Z80 za više od 35 godina.

Uživajte

Supplies

Z80-mbc2 računar

Kopija Z80ASM iz SLR Systems Rel. 1.32, koji se može preuzeti iz mnogih cp/m arhiva

Urednik, koristio sam ZDE16, jer je već bio na CP/M slici pokretanja za z80-mbc2

Korak 1: Instalirajte Z80asm na svoj Z80-mbc2

Instalirajte Z80asm na svoj Z80-mbc2
Instalirajte Z80asm na svoj Z80-mbc2

Pretpostavljam da ste upoznati sa alatima koje imate za svoj Z80-MBC2, naime bez obzira na verziju cpmtools koju koristite. Evo koraka ako koristite verzije naredbenog retka:

  1. Preuzmite datoteke z80asm.com i z80asm.doc (opcionalno) u direktorij na neko mjesto na vašem računaru domaćinu
  2. Stavite SD karticu u isti računar, pretpostavljam da se ispod prikazuje kao pogon E: ispod.
  3. Stavio sam asembler na svoj CP/M disk A, za cp/m 2.2 to bi bila slika diska DS0N00. DSK
  4. Naredba: cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.com 0: kopirat će datoteku z80asm.com na sliku
  5. Naredba cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.doc 0: kopirat će dokumentaciju na disk (opcionalno)

Kada pokrećete cp/m 2.2 na svom z80-mbc, sada biste trebali imati z80asm.com i z80asm.doc (opcionalno) na pogonu A

Korak 2: Kopirajte izvorni kod na sebe Z80-mbc2

Povežite se na z80-mbc pomoću programa za terminal

Predlažem da upotrijebite nepopunjeni disk za spremanje izvornog koda, na primjer f: za odabir ove vrste pogona:

F:

nakon nekoliko sekundi vidjet ćete upit F:.

sada koristite program zde16 na pogonu A za uređivanje prazne datoteke:

a: zde16 myled.z80

Ovo će stvoriti datoteku pod nazivom myled.z80 na disku F:, napomena:.z80 je potrebno u imenu da bi z80asm radio.

Sada kopirajte i zalijepite donji kod, ovisno o brzini terminala itd. Možda ćete morati kopirati i zalijepiti u male odjeljke. Ili ga upišite! vratite osećaj iz 1980 -ih.

;

; Testirajte korisnički LED i korisnički ključ; BDOS equ 05h; cp/m BDOS ulazna tačka USRLED equ 0; opcode za korisničku LED kontrolu USRKEY equ 80h; opcode za kontrolu korisničke sklopke DPORT equ 0; DATA port i/o CPORT equ 1; izlaz komandnog porta; org 0100h; ld (estack), sp; zadržati postojeće podatke za povratak na cp/m ld sp, stog; ld hl, msg; pozdravna poruka poziv _puts lp: ld a, 1; uključi = 1 kašnjenje poziva sa pozivom; odgoda i čekanje ključeva (a) jr nz, završetak; ne nula znači da je tipka/prekidač pritisnuta xor a; a = 0 kašnjenje poziva sa LED -om; odgodite ili pričekajte tipku/prekidač jr z, lp; ako je nula, nema tipke/prekidača, idite ponovo; završetak: xor a; taster ili prekidač je pritisnut, tako da je poziv vodio ld hl, bok; recite bye call _puts; display msg HL = ld sp, (estack); originalni stek ret; povratak na cp/m; LED: push af; spremi LED vrijednost 0 ili 1 ld a, USRLED out (CPORT), a; optcode poslan pop af out (DPORT), a; podaci poslani ret;; Petlja kašnjenja koja provjerava tipku pritisnutu na terminalu ili kašnjenju korisničkog ključa: ld bc, 00e00h; približno 1/2s 8mhz CPU, čista radna petlja2: dec bc; broji push petlje bc; sprema regre pri pozivanju BDOS push de ld c, 6; BDOS raw i/o proverite da li je taster pritisnut ld e, 0ffh pozovite BDOS pop de; vratite naše vrednosti iz steka pop bc ili a; proverite da li je taster pritisnut na terminalu ret nz; da return (takođe drži zastavicu nz postavljenom) ld a, USRKEY; Sada provjerite korisnički ključ (CPORT), a; komandni port u a, (DPORT); ključ za čitanje i a, 1; zanima samo bit 0 ret nz; vrati ako je korisnički taster pritisnuo ld a, b; ili je bc = 0 ili c jr nz, loop2; odbrojavanje nije završeno, idite ponovo xor a; postavite zastavicu z na 0 ret; return bez pritiskanja tipke, kraj kašnjenja; _puts: push bc; spremimo naše reg -ove spremne za bdos pozive push de nxt: ld a, (hl); get char or a; test ako je 0, kraj poruke jr z, gotovo; da tako je učinjeno ld e, a; postaviti poziv BDOS -u za ispis char ld c, 2 push hl; spremiti poziv pokazivača teksta BDOS; ispisati ga pop hl inc hl; sljedeći char jr nxt; nastaviti raditi: pop de; dovršeno vraćanje reg. pop bc ret;; msg db 'Korisnički LED test, bilo koji ključ za izlaz' db 0ah, 0dh, 0 bye db 'Izlaz' db 0ah, 0dh, 0 estack dw 0 ds 256 - 2 stack: dw 0

Sačuvajte datoteku pomoću ESC x. Više informacija potražite u vodiču za upotrebu ZDE16, to je pomalo poput wordstara za većinu uređivanja, osim što su opcije Ctrl-K različite.

Korak 3: Prevedite i pokrenite program

Kada imate izvorni kod na računaru.

Tip:

F>

F> a: z80asm myled/a Z80ASM Copyright (C) 1983-86 by SLR Systems Rel. 1,32 MYLED/A Kraj datoteke Pass 1 0 Otkrivene greške. 406 apsolutnih bajtova. 16 Otkriveni simboli.

Ovo će tražiti datoteku myled.z80 i proizvesti binarnu (.com) datoteku, to je ono što označava opcija /a.

Za više informacija pogledajte datoteku z80asm.doc.

Da biste pokrenuli program, upišite:

F> miled

Korisnički LED test, bilo koji taster za izlaz iz izlaza F>

Pritisnite ili korisničko dugme ili tipku na terminalu za izlaz.

Gotovo.

Preporučuje se: