Sadržaj:
- Supplies
- Korak 1: Instalirajte Z80asm na svoj Z80-mbc2
- Korak 2: Kopirajte izvorni kod na sebe Z80-mbc2
- Korak 3: Prevedite i pokrenite program
Video: Z80-mbc2 Z80 Šifra blica LED za korisnika: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
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
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:
- Preuzmite datoteke z80asm.com i z80asm.doc (opcionalno) u direktorij na neko mjesto na vašem računaru domaćinu
- Stavite SD karticu u isti računar, 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 (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:
Značka LED blica: 6 koraka (sa slikama)
Značka sa LED bljeskalicom: 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 LED bljeskalica je odličan izbor . Ova PCB ploča sa značkom LED bljeskalice je
USB kompaktni čitač blica u Altoids limenci: 6 koraka
USB Compact Flash Reader …. u Altoids limenci: Da, znam da je Altoids lim u ovom trenutku pretvoren u sve osim u kamodu, ali ovo je moj prvi "projekt" koji sam pokušao. Gledao sam unaokolo i vidio mod NES kontrolera i to mi je izazvalo motivaciju da to učinim
Kondenzator blica kamere HACK (stari, ali i dalje radi): 3 koraka
Kondenzator blica kamere HACK (stari, ali i dalje radi): Kako izgraditi šokantan uređaj pomoću kondenzatora u kameri za jednokratnu upotrebu koja ima cijev za bljeskalicu
Još jedan difuzor blica (dizajniran za Canon 580EX II): 5 koraka
Još jedan Flash difuzor (dizajniran za Canon 580EX II): Znam da ih ima milijun, ali svejedno sam dizajnirao svoj. Htjela sam onu koja je jeftina i prenosiva, ali je izgledala pomalo profesionalno kako moji klijenti ne bi pomislili da sam totalna amaterka. Ovaj difuzor je dizajniran za Canon 580
Menjanje Nikon SB-600 blica za dalje rotiranje: 14 koraka
Dodatna izmjena Nikon SB-600 bljeskalice za daljnje rotiranje: Nikon bljeskalice SB-600 i SB-800 imaju temeljni problem. Glava blica može da se rotira za 180 ° u smjeru suprotnom od kazaljke na satu (gledano odozgo), ali samo 90 ° u smjeru kazaljke na satu. Ovo je veliki nedostatak pri snimanju portreta dok