Sadržaj:

Z80-mbc2 Z80 Šifra korisničke LED bljeskalice: 3 koraka
Z80-mbc2 Z80 Šifra korisničke LED bljeskalice: 3 koraka

Video: Z80-mbc2 Z80 Šifra korisničke LED bljeskalice: 3 koraka

Video: Z80-mbc2 Z80 Šifra korisničke LED bljeskalice: 3 koraka
Video: RPC 1x06: LM80C progettare e costruire da zero un computer a 8 bit - intervista a Leonardo Miliani 2024, Prosinac
Anonim
Z80-mbc2 Z80 Kod bljeskalica LED korisnička LED
Z80-mbc2 Z80 Kod bljeskalica LED korisnička LED

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

Napravio sam ovu testnu i revizijsku vježbu za mene, ovo je moj prvi program Z80 za više od 35 godina.

Uživati

Pribor

Računalo Z80-mbc2

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

Uređivač, koristio sam ZDE16, budući da je već bio na slici za pokretanje CP/M 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 koju god inačicu cpmtools-a koristili. Evo koraka ako koristite verzije naredbenog retka:

  1. Nabavite datoteke z80asm.com i z80asm.doc (izborno) u direktorij na neko mjesto na vašem računalu domaćinu
  2. Stavite SD karticu u isto računalo, 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 (izborno)

Kada pokrenete 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 svog terminalnog programa

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 upotrijebite 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 potrebna 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! vratiti i osjećaj iz 1980 -ih.

;

; Testirajte korisničku LED i korisnički ključ; BDOS equ 05h; cp/m BDOS ulazna toč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 naredbenog 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 s LED pozivom; odgoda i čekanje tipki (a) jr nz, završetak; ne nula znači da je tipka/prekidač pritisnuta xor a; a = 0 kašnjenje poziva s LED pozivom; odgodite ili pričekajte tipku/prekidač jr z, lp; ako je nula, nema tipke/prekidača, idite ponovno; završetak: xor a; tipka ili prekidač je pritisnuta, pa je poziv dovršio poziv ld hl, bok; recite pao poziv _puts; prikaz poruke HL = ld sp, (estack); izvorni 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 odgode koja pritisne tipku za provjeru na kašnjenju terminala ili korisničkog ključa: ld bc, 00e00h; približno 1/2s 8 mhz CPU, čista radna petlja 2: dec bc; broji pritisak petlje bc; sprema regre pri pozivu BDOS -a push de ld c, 6; BDOS raw i/o provjerite je li tipka pritisnuta ld e, 0ffh pozovite BDOS pop de; vratite naše vrijednosti iz steka pop bc ili a; provjerite je li tipka pritisnuta na terminalu ret nz; da return (također drži zastavicu nz postavljenom) ld a, USRKEY; Sada provjerite korisnički ključ (CPORT), a; naredbeni port u a, (DPORT); tipka za čitanje i a, 1; zanima samo bit 0 ret nz; vrati ako je korisnički ključ pritisnut ld a, b; ili je bc = 0 ili c jr nz, loop2; odbrojavanje nije završeno, idite ponovno xor a; postavite zastavicu z na 0 ret; return bez pritiskanja tipke, kraj odgode; _puts: push bc; spremimo naše reg -ove spremne za bdos pozive push de nxt: ld a, (hl); get char or a; test je li 0, kraj poruke jr z, gotovo; da tako je učinjeno ld e, a; postavite poziv BDOS -u za ispis char ld c, 2 push hl; spremite poziv pokazivača teksta BDOS; ispišite ga pop hl inc hl; sljedeći char jr nxt; nastavite: pop de; dovršeno vraćanje regs pop bc ret; i vratite; 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 hrpa: dw 0

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

Korak 3: Sastavite i pokrenite program

Nakon što imate izvorni kod na stroju.

Tip:

F>

F> a: z80asm myled/a Z80ASM Autorska prava (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 ključ za izlaz iz izlaza F>

Za izlaz pritisnite tipku korisnika ili tipku na terminalu.

Gotovo.

Preporučeni: