Turinys:

Z80-mbc2 Z80 kodo blykstė Vartotojo šviesos diodas: 3 žingsniai
Z80-mbc2 Z80 kodo blykstė Vartotojo šviesos diodas: 3 žingsniai

Video: Z80-mbc2 Z80 kodo blykstė Vartotojo šviesos diodas: 3 žingsniai

Video: Z80-mbc2 Z80 kodo blykstė Vartotojo šviesos diodas: 3 žingsniai
Video: Z80-MBC2: Z80 homebrew computer playing Startrek with CP/M 2024, Liepa
Anonim
Z80-mbc2 Z80 kodo blykstė Vartotojo šviesos diodas
Z80-mbc2 Z80 kodo blykstė Vartotojo šviesos diodas

Tai yra pavyzdinė vartotojo LED programa, parašyta Z80 surinkime, skirta kompiuteriui z80-mbc2.

Aš padariau šį bandymą ir peržiūrą man, tai yra mano pirmoji Z80 programa per 35 metus.

Mėgautis

Prekės

Kompiuteris Z80-mbc2

Z80ASM kopija iš SLR Systems Rel. 1.32, galima atsisiųsti iš daugelio cp/m archyvų

Redaktorius, naudojau ZDE16, nes jis jau buvo z80-mbc2 CP/M įkrovos atvaizde

1 veiksmas: įdiekite „Z80asm“į savo „Z80-mbc2“

Įdiekite „Z80asm“į savo „Z80-mbc2“
Įdiekite „Z80asm“į savo „Z80-mbc2“

Manau, kad esate susipažinęs su įrankiais, kuriuos turite savo Z80-MBC2, būtent su bet kokia jūsų naudojama „cpmtools“versija. Jei naudojate komandinės eilutės versijas, atlikite šiuos veiksmus:

  1. Gaukite failus z80asm.com ir z80asm.doc (neprivaloma) į katalogą, esantį jūsų kompiuterio kompiuteryje
  2. Įdėkite savo SD kortelę į tą patį kompiuterį, manau, kad žemiau jis rodomas kaip E diskas.
  3. Aš įdėjau surinkėją į savo CP/M diską A, cp/m 2.2, kuris būtų disko vaizdas DS0N00. DSK
  4. Komanda: cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.com 0: nukopijuos failą z80asm.com į paveikslėlį
  5. Komanda cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.doc 0: nukopijuos dokumentus į diską (neprivaloma)

Kai paleisite „c80/m 2.2“savo „z80-mbc“, dabar diske A turėtumėte turėti z80asm.com ir z80asm.doc (pasirenkama).

2 veiksmas: nukopijuokite šaltinio kodą jums Z80-mbc2

Prisijunkite prie z80-mbc naudodami savo terminalo programą

Norėdami pasirinkti šaltinio kodą, siūlau naudoti diską, kuriame nėra gyventojų, pvz., F: pasirinkti šį disko tipą:

F:

po kelių sekundžių pamatysite raginimą F:.

dabar naudokite programą zde16 A diske, kad galėtumėte redaguoti tuščią failą:

a: zde16 myled.z80

Taip diske F: bus sukurtas failas, pavadintas myled.z80, pastaba:.z80 reikia, kad z80asm veiktų.

Dabar nukopijuokite ir įklijuokite žemiau esantį kodą, priklausomai nuo jūsų terminalo greičio ir tt, jums gali tekti nukopijuoti ir įklijuoti į mažus skyrius. Arba įveskite! susigrąžink tą 1980 -ųjų jausmą.

;

; Patikrinkite vartotojo šviesos diodą ir vartotojo raktą; BDOS ekv. 05 val.; cp/m org 0100h; ld (estack), sp; išsaugoti esamą informaciją, kad galėtumėte grįžti į cp/m ld sp, stack; ld hl, msg; sveikinimo pranešimo skambutis _ įveda lp: ld a, 1; įjungti = 1 skambučio vedimo skambučio uždelsimas; atidėti ir laukti klavišo (-ų) jr nz, baigti; ne nulis reiškia klavišą/jungiklį paspaustas x arba a; a = 0 skambučio vedamas skambučio vėlavimas; atidėti arba laukti rakto/jungiklio jr z, lp; jei nulis, nėra rakto/jungiklio, eikite dar kartą; apdaila: xor a; buvo paspaustas klavišas arba jungiklis, todėl skambutis paskatino ld hl, bye; pasakyti bye call _puts; rodyti pranešimą HL = ld sp, (estack); originalus kamino retas; grįžti į cp/m; LED: push af; išsaugoti LED reikšmę 0 arba 1 ld a, USRLED out (CPORT), a; optcode išsiųstas pop af out (DPORT), a; duomenys išsiųsti ret;; Atidėjimo kilpa, kuri tikrina klavišą paspaudus terminalą arba vartotojo rakto uždelsimas: ld bc, 00e00h; apytiksliai 1/2s 8mhz procesorius, grynas atspėjimo darbo ciklas2: dec bc; suskaičiuokite ciklo stūmimą bc; išsaugokite registrus skambindami BDOS push de ld c, 6; „BDOS raw i/o“patikrinkite, ar paspaustas klavišas ld e, 0ffh iškvieskite BDOS pop de; gaukite mūsų vertes iš „stack pop bc“arba a; patikrinkite, ar klavišas paspaustas ant terminalo ret nz; taip grįžti (taip pat išlieka nz vėliavos rinkinys) ld a, USRKEY; Dabar patikrinkite vartotojo raktą (CPORT), a; komandų prievadas a, (DPORT); skaitymo klavišas ir a, 1; domina tik 0 bitas ret nz; grįžkite, jei vartotojo klavišas paspaudė ld a, b; arba bc = 0 arba c jr nz, kilpa2; nebaigęs skaičiuoti, eik dar kartą xor a; nustatyk z vėliavą į 0 ret; grįžti nepaspaudus klavišo, uždelsimo pabaiga; _puts: push bc; išsaugoti mūsų registrus, paruoštus bdos skambučiams push de nxt: ld a, (hl); gauti char arba a; išbandyti, ar tai 0, žinutės pabaiga jr z, padaryta; taip, padaryta ld e, a; nustatyti skambutį į BDOS, kad būtų išspausdinta char ld c, 2 push hl; išsaugoti teksto žymeklio skambutį BDOS; atspausdinti jį pop hl inc hl; next char jr nxt; tęskite: pop de; baigtas atkūrimo režimas pop bc ret; ir grįžti; msg db 'Vartotojo LED testas, bet koks klavišas išeiti' db 0ah, 0dh, 0 bye db 'Exit' db 0ah, 0dh, 0 estack dw 0 ds 256 - 2 kamino: dw 0

Išsaugokite failą naudodami ESC x. Norėdami gauti daugiau informacijos, žr. ZDE16 naudojimo vadovą, jis šiek tiek primena „Wordstar“daugumai redagavimo būdų, išskyrus tai, kad „Ctrl-K“parinktys skiriasi.

3 veiksmas: sukompiliuokite ir paleiskite programą

Kai įrenginyje turėsite šaltinio kodą.

Tipas:

F>

F> a: z80asm myled/a Z80ASM Autorių teisės (C) 1983-86 by SLR Systems Rel. 1.32 MYLED/A Failo pabaiga 1 leidimas Aptikta klaida (-os). 406 absoliutūs baitai. Aptikti 16 simbolių.

Tai ieškos failo myled.z80 ir sukurs dvejetainį (.com) failą, štai ką reiškia parinktis /a.

Daugiau informacijos rasite faile z80asm.doc.

Norėdami paleisti programą, įveskite:

F> myled

Vartotojo šviesos diodų testas, bet koks klavišas išeiti Išeiti iš F>

Norėdami išeiti, paspauskite vartotojo mygtuką arba terminalo klavišą.

Padaryta.

Rekomenduojamas: