Kazalo:

Z80-mbc2 Z80 kodna bliskavica uporabnika LED: 3 koraki
Z80-mbc2 Z80 kodna bliskavica uporabnika LED: 3 koraki

Video: Z80-mbc2 Z80 kodna bliskavica uporabnika LED: 3 koraki

Video: Z80-mbc2 Z80 kodna bliskavica uporabnika LED: 3 koraki
Video: Z80 Tester. Тестер процессоров Z80. 2024, December
Anonim
Z80-mbc2 Z80 koda LED za uporabnika
Z80-mbc2 Z80 koda LED za uporabnika

To je primer uporabniškega LED programa, napisanega v asemblerju Z80 za računalnik z80-mbc2.

Zame sem naredil preizkus in revizijo, to je moj prvi program Z80 za več kot 35 let.

Uživajte

Zaloge

Računalnik Z80-mbc2

Kopija Z80ASM iz SLR Systems Rel. 1.32, ki jih je mogoče prenesti iz številnih arhivov cp/m

Urejevalnik, uporabil sem ZDE16, saj je bil že na zagonski sliki CP/M za z80-mbc2

Korak: Namestite Z80asm na vaš Z80-mbc2

Namestite Z80asm na vaš Z80-mbc2
Namestite Z80asm na vaš Z80-mbc2

Predvidevam, da ste seznanjeni z orodji, ki jih imate za svoj Z80-MBC2, in sicer katero koli različico orodja cpmtools, ki jo uporabljate. Če uporabljate različice ukazne vrstice, so naslednji koraki:

  1. Prenesite datoteki z80asm.com in z80asm.doc (izbirno) v imenik na svojem mestu v gostiteljskem računalniku
  2. Kartico SD vstavite v isti računalnik, spodaj predvidevam, da se prikazuje kot pogon E: spodaj.
  3. Asembler sem dal na svoj CP/M disk A, za cp/m 2.2 bi to bila slika diska DS0N00. DSK
  4. Ukaz: cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.com 0: bo kopiral datoteko z80asm.com na sliko
  5. Ukaz cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.doc 0: bo kopiral dokumentacijo na disk (neobvezno)

Ko zaženete cp/m 2.2 na svojem z80-mbc, bi morali imeti na disku A z80asm.com in z80asm.doc (izbirno)

Korak: Kopirajte izvorno kodo na vas Z80-mbc2

Povežite se z z80-mbc s svojim terminalskim programom

Predlagam, da za shranjevanje izvorne kode uporabite nenaseljen disk, na primer f: za izbiro te vrste pogona:

F:

po nekaj sekundah boste videli poziv F:

zdaj uporabite program zde16 na pogonu A za urejanje prazne datoteke:

a: zde16 myled.z80

To bo ustvarilo datoteko myled.z80 na disku F:, opomba:.z80 je v imenu potrebna za delovanje z80asm.

Zdaj kopirajte in prilepite spodnjo kodo, odvisno od hitrosti terminala itd., Boste morda morali kopirati in prilepiti v majhne odseke. Ali pa vnesite! dobite občutek tudi v osemdesetih letih.

;

; Preizkusite uporabniško LED in uporabniški ključ; BDOS equ 05h; cp/m vstopna točka BDOS USRLED equ 0; koda za opcijo uporabniškega LED -upravljanja USRKEY equ 80h; opcode za upravljanje uporabniškega stikala DPORT enako 0; vrata za podatke i/o CPORT enaka 1; izhod ukaznih vrat; org 0100h; ld (estack), sp; ohraniti obstoječe podatke za vrnitev na cp/m ld sp, sklad; ld hl, msg; pozdravni klic sporočila _puts lp: ld a, 1; vklop = 1 zakasnitev klica, ki ga vodi klic; zakasnitev in čakanje na tipko (-e) jr nz, končaj; ničelno pomeni tipko/stikalo pritisnjeno xor a; a = 0 zakasnitev klica s klicem; zakasnite ali počakajte na tipko/stikalo jr z, lp; če nič, brez tipke/stikala, pojdite znova; zaključek: xor a; pritisnjena je bila tipka ali stikalo, tako da je klic opravljen ld hl, adijo; recite bye call _puts; prikaz sporočila HL = ld sp, (estack); LED: push af; shrani vrednost LED 0 ali 1 ld a, USRLED out (CPORT), a; optcode poslano pop af (DPORT), a; podatki poslani ret;; Zakasnitvena zanka, ki pritisne tipko za preverjanje na zakasnitvi terminala ali uporabniškega ključa: ld bc, 00e00h; približno 1/2s 8mhz CPE, čista ugibanja, zanka2: dec bc; šteje potisk zanke bc; shrani regre pri klicu BDOS push de ld c, 6; BDOS raw v/i preveri, če je tipka pritisnjena ld e, 0ffh kliče BDOS pop de; vrni naše vrednosti iz sklada pop bc ali a; preveri, če je tipka pritisnjena na terminalu ret nz; da vrne (tudi nastavi zastavico nz) ld a, USRKEY; Zdaj preverite uporabniški ključ (CPORT), a; ukazna vrata v a, (DPORT); tipka za branje in a, 1; zanima samo bit 0 ret nz; vrnitev, če je uporabniška tipka pritisnjena ld a, b; ali je bc = 0 ali c jr nz, zanka2; štetje ni končano, pojdite znova xor a; zastavico z nastavite na 0 ret; vrnite brez pritisnjene tipke, konec zamude; _puts: push bc; shranite naše registre pripravljene za klice bdos push de nxt: ld a, (hl); get char or a; test, če je 0, konec sporočila jr z, končano; ja tako storjeno ld e, a; nastavite klic v BDOS, da natisnete char ld c, 2 push hl; shranite klic besedilnega kazalca BDOS; natisnite ga pop hl inc hl; naslednji char jr nxt; nadaljujte: pop de; končana obnovitev regs pop bc ret; in vrnite; msg db 'Uporabniški test LED, kateri koli ključ za izhod' db 0ah, 0dh, 0 bye db 'Exit' db 0ah, 0dh, 0 estack dw 0 ds 256 - 2 stack: dw 0

Shranite datoteko s tipko ESC x. Za več informacij si oglejte priročnik za uporabo ZDE16, za večino urejanj je nekoliko podoben wordstar, le da so možnosti Ctrl-K različne.

3. korak: Prevedite in zaženite program

Ko imate na stroju izvorno kodo.

Vrsta:

F>

F> a: z80asm myled/a Z80ASM Avtorske pravice (C) 1983-86 avtorja SLR Systems Rel. 1,32 MYLED/A Konec datoteke Pass 1 0 Zaznane napake. 406 absolutnih bajtov. 16 zaznanih simbolov.

To bo poiskalo datoteko myled.z80 in ustvarilo binarno (.com) datoteko, kar pomeni možnost /a.

Za več informacij si oglejte datoteko z80asm.doc.

Če želite zagnati program, vnesite:

F> miled

Uporabniški test LED, katera koli tipka za izhod iz izhoda F>

Za izhod pritisnite uporabniški gumb ali tipko na terminalu.

Končano.

Priporočena: