Sadržaj:
- Pribor
- Korak 1: Instalirajte Z80asm na svoj Z80-mbc2
- Korak 2: Kopirajte izvorni kod na sebe Z80-mbc2
- Korak 3: Sastavite i pokrenite program
Video: Z80-mbc2 Z80 Šifra korisničke LED bljeskalice: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
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
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:
- Nabavite datoteke z80asm.com i z80asm.doc (izborno) u direktorij na neko mjesto na vašem računalu domaćinu
- Stavite SD karticu u isto računalo, pretpostavljam da se ispod prikazuje kao pogon E: ispod.
- Stavio sam asembler na svoj CP/M disk A, za cp/m 2.2 to bi bila slika diska DS0N00. DSK
- Naredba: cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.com 0: kopirat će datoteku z80asm.com na sliku
- 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:
Značka LED bljeskalice: 6 koraka (sa slikama)
Značka LED bljeskalice: Jeste li tek počeli s lemljenjem i želite naučiti osnove jednostavnim kompletom? Ako tražite jednostavan način za naučiti lemljenje ili samo želite napraviti mali prijenosni gadget, ova značka s LED bljeskalicom sjajan je izbor . Ova PCB ploča sa značkom LED bljeskalice je
Krug LED bljeskalice s LDR: 6 koraka
Krug LED bljeskalice s LDR -om: Uvod: Pozdrav dečki, danas ćemo u ovom članku raspravljati o načinu izrade LED sklopa bljeskalice s LDR -om. Dakle, zasigurno ćete promijeniti brzinu treptanja pomoću LDR svijeće. Stoga je ovo često izvrstan krug za hobiste
Tri načina za stvaranje kruga LED bljeskalice s kontrolom brzine i naizmjeničnim bljeskanjem: 3 koraka
Tri načina za stvaranje kruga LED bljeskalice s kontrolom brzine i naizmjeničnim treperenjem: krug bljeskalice je krug u kojem LED treperi UKLJUČENO I ISKLJUČENO brzinom na koju utječe upotrijebljeni kondenzator. Ovdje ću vam pokazati tri različita načina kako napraviti ovaj krug pomoću : 1. Tranzistori 2. 555 Timer IC3. Kvarcni krugLDR se također može koristiti za c
Kako dodati korisničke razine od NUMA u svoju kopiju N pomoću NumADD Firefox AddOn: 4 koraka
Kako dodati korisničke razine s NUMA -e u svoju kopiju N -a pomoću NumADD Firefox AddOn -a: Svaki korisnik Metanet -ove N baze podataka na razini korisnika NUMA znat će koliko je nespretno sučelje za kopiranje razina koje su stvorili korisnici u vašu kopiju igre. NumADD, iskorjenjuje potrebu za kopiranjem i lijepljenjem, a prijenos razina čini jednim klikom miša
Vigenere šifra s Arduinom: 3 koraka
Vigenere Cipher With Arduino: Prije nekoliko godina digitalna tvrđava Dana Browna privukla mi je pozornost i jedna mi je stvar pala na pamet. Kryptos, skulptura Jima Sanborna koja se sastoji od šifriranog teksta od kojih su prva dva dijela šifrirana Vigen -ovom šifrom. Ja