Obsah:

Z80-mbc2 Kód LED blesku Z80 pre používateľa: 3 kroky
Z80-mbc2 Kód LED blesku Z80 pre používateľa: 3 kroky

Video: Z80-mbc2 Kód LED blesku Z80 pre používateľa: 3 kroky

Video: Z80-mbc2 Kód LED blesku Z80 pre používateľa: 3 kroky
Video: I Built My DREAM Porsche 911 Turbo! 2024, November
Anonim
Z80-mbc2 Užívateľská LED dióda s kódom Z80 s kódom Z80
Z80-mbc2 Užívateľská LED dióda s kódom Z80 s kódom Z80

Toto je príklad používateľského programu LED napísaného v assembleri Z80 pre počítač z80-mbc2.

Urobil som pre mňa test a revíziu, toto je môj prvý program Z80 viac ako 35 rokov.

Užite si to

Zásoby

Počítač Z80-mbc2

Kópia Z80ASM od spoločnosti SLR Systems Rel. 1.32, stiahnuteľné z mnohých archívov cp/m

Editor, použil som ZDE16, pretože už bol na bootovacom obrázku CP/M pre z80-mbc2

Krok 1: Nainštalujte Z80asm na svoj Z80-mbc2

Nainštalujte Z80asm na svoj Z80-mbc2
Nainštalujte Z80asm na svoj Z80-mbc2

Predpokladám určitú znalosť nástrojov, ktoré máte pre svoj Z80-MBC2, konkrétne akejkoľvek verzie cpmtools, ktorú používate. Tu sú kroky, ak používate verzie príkazového riadka:

  1. Získajte súbory z80asm.com a z80asm.doc (voliteľné) v adresári na nejakom mieste na hostiteľskom počítači
  2. Vložte svoju kartu SD do rovnakého počítača, predpokladám, že nižšie je zobrazený ako disk E: nižšie.
  3. Dal som assembler na môj CP/M disk A, pre cp/m 2.2, ktorý by bol diskovým obrazom DS0N00. DSK
  4. Príkaz: cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.com 0: skopíruje súbor z80asm.com na obrázok
  5. Príkaz cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.doc 0: skopíruje dokumentáciu na disk (voliteľné)

Keď na svojom z80-mbc spustíte cp/m 2.2, na jednotke A by ste mali mať teraz z80asm.com a z80asm.doc (voliteľné)

Krok 2: Skopírujte si zdrojový kód Z80-mbc2

Pripojte sa k z80-mbc pomocou terminálového programu

Navrhujem, aby ste na uloženie zdrojového kódu použili neobývaný disk, napríklad f: na výber tohto typu jednotky:

F:

po niekoľkých sekundách sa zobrazí výzva F:.

teraz pomocou programu zde16 na disku A upravte prázdny súbor:

a: zde16 myled.z80

Tým sa vytvorí súbor s názvom myled.z80 na disku F:, poznámka:.z80 je v názve potrebný na to, aby z80asm fungoval.

Teraz skopírujte a prilepte nižšie uvedený kód, v závislosti od rýchlosti vášho terminálu atď. Budete musieť skopírovať a prilepiť do malých sekcií. Alebo napíšte! vcíťte sa do toho aj v osemdesiatych rokoch minulého storočia.

;

; Otestujte užívateľskú LED a užívateľský kľúč; BDOS equ 05h; cp/m Vstupný bod BDOS USRLED equ 0; opcode pre užívateľské LED ovládanie USRKEY equ 80h; opcode pre užívateľské ovládanie DPORT equ 0; DATA port i/o CPORT equ 1; Výstup príkazového portu; org 0100h; ld (estack), sp; ponechať existujúce informácie pre návrat do cp/m ld sp, zásobník; ld hl, msg; Dobrý deň, volanie správy _puts lp: ld a, 1; zapnutie = 1 oneskorenie hovoru LED; oneskorenie a čakanie na dokončenie kľúčov 0 oneskorenie hovoru LED; oneskorenie alebo čakanie na kľúč/prepínač jr z, lp; ak je nula, žiadny kľúč/spínač, choďte znova; dokončiť: xor a; bol stlačený kláves alebo prepínač, takže hotové volanie ld hl, ahoj; povedz ahoj volanie _puts; zobrazenie správy HL = ld sp, (estack); pôvodný zásobník ret; návrat na cp/m; LED: push af; uložiť hodnotu LED 0 alebo 1 ld a, USRLED out (CPORT), a; optcode sent pop out out (DPORT), a; data sent ret;; Oneskorenie slučky, ktorá kontroluje stlačenie klávesu na termináli alebo oneskorenie používateľského kľúča: ld bc, 00e00h; približne 1/2 s 8 MHz procesor, čistá odhadovaná pracovná slučka 2: dec bc; počítanie slučky push bc; uloženie reg pri volaní BDOS push de ld c, 6; BDOS raw i/o skontroluje, či je stlačené tlačidlo ld e, 0ffh zavolá BDOS pop de; získajte naše hodnoty späť zo zásobníka pop bc alebo a; skontrolujte, či je kláves stlačený na termináli ret nz; yes return (tiež udržuje nz príznak nastavený) ld a, USRKEY; Teraz skontrolujte používateľský kľúč (CPORT), a; príkazový port v a, (DPORT); prečítajte si klávesu a a, 1; zaujíma vás iba bit 0 ret nz; vrátiť sa, ak stlačíte používateľské tlačidlo ld a, b; alebo je bc = 0 alebo c jr nz, loop2; nedokončené počítanie, choďte znova x alebo a; nastavte príznak z na 0 ret; nevráťte stlačené žiadne tlačidlo, koniec oneskorenia; _puts: push bc; uložte naše regs ready pre bdos hovory push de nxt: ld a, (hl); get char or a; test if it is 0, end of msg jr z, done; yes so done ld e, a; nastaviť volanie do BDOS na vytlačenie znaku c, 2 stlačenie hl; uložiť hovor s textovým ukazovateľom BDOS; vytlačiť pop hl vč. hl; nasledujúci znak jr nxt; pokračovať: pop de; dokončené obnovenie regs pop bc ret; a vrátiť sa; msg db 'Užívateľský test LED, ľubovoľný kľúč na ukončenie' db 0ah, 0dh, 0 bye db 'Exit' db 0ah, 0dh, 0 estack dw 0 ds 256 - 2 stack: dw 0

Uložte súbor pomocou ESC x. Bližšie informácie nájdete v návode na použitie ZDE16, pre väčšinu úprav je to trochu ako wordstar, ibaže možnosti Ctrl-K sú rôzne.

Krok 3: Zostavte a spustite program

Akonáhle budete mať zdrojový kód v počítači.

Typ:

F>

F> a: z80asm myled/a Z80ASM Copyright (C) 1983-86 od SLR Systems Rel. 1,32 MYLED/A Koniec súboru Pass 1 0 Zistené chyby. 406 absolútnych bajtov. Zistených 16 symbolov.

Toto vyhľadá súbor myled.z80 a vytvorí binárny súbor (.com), čo znamená možnosť /a.

Ďalšie informácie nájdete v súbore z80asm.doc.

Ak chcete spustiť program, zadajte:

F> myled

Užívateľský test LED, akékoľvek tlačidlo na ukončenie Ukončiť F>

Ukončite stlačením používateľského tlačidla alebo klávesu na termináli.

Hotový.

Odporúča: