Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
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“
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:
- Gaukite failus z80asm.com ir z80asm.doc (neprivaloma) į katalogą, esantį jūsų kompiuterio kompiuteryje
- Įdėkite savo SD kortelę į tą patį kompiuterį, manau, kad žemiau jis rodomas kaip E diskas.
- Aš įdėjau surinkėją į savo CP/M diską A, cp/m 2.2, kuris būtų disko vaizdas DS0N00. DSK
- Komanda: cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.com 0: nukopijuos failą z80asm.com į paveikslėlį
- 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.