Orodha ya maudhui:

Z80-mbc2 Z80 Msimbo wa Kiwango cha Mtumiaji LED: 3 Hatua
Z80-mbc2 Z80 Msimbo wa Kiwango cha Mtumiaji LED: 3 Hatua

Video: Z80-mbc2 Z80 Msimbo wa Kiwango cha Mtumiaji LED: 3 Hatua

Video: Z80-mbc2 Z80 Msimbo wa Kiwango cha Mtumiaji LED: 3 Hatua
Video: Transform Your Selfie into a Stunning AI Avatar with Stable Diffusion - Better than Lensa for Free 2024, Novemba
Anonim
Z80-mbc2 Z80 Kiwango cha Mtumiaji wa LED
Z80-mbc2 Z80 Kiwango cha Mtumiaji wa LED

Huu ni mfano wa mpango wa mtumiaji wa LED ulioandikwa katika mkusanyiko wa Z80 kwa kompyuta ya z80-mbc2.

Nilifanya zoezi hili la mtihani na marekebisho kwangu, hii ni programu yangu ya kwanza ya Z80 kwa zaidi ya miaka 35.

Furahiya

Vifaa

Kompyuta ya Z80-mbc2

Nakala ya Z80ASM kutoka SLR Systems Rel. 1.32, inayoweza kupakuliwa kutoka kwa kumbukumbu nyingi za cp / m

Mhariri, nilitumia ZDE16, kwani ilikuwa tayari kwenye picha ya boot ya CP / M ya z80-mbc2

Hatua ya 1: Sakinisha Z80asm kwenye Z80-mbc2 yako

Sakinisha Z80asm kwenye Z80-mbc2 yako
Sakinisha Z80asm kwenye Z80-mbc2 yako

Nadhani ujuavyo na zana unazo za Z80-MBC2 yako, ambayo ni toleo la cpmtools unayotumia. Hapa kuna hatua ikiwa unatumia matoleo ya laini ya amri:

  1. Pata faili z80asm.com na z80asm.doc (hiari) katika saraka mahali fulani kwenye PC yako mwenyeji
  2. Weka kadi yako ya SD kwenye PC ile ile, nadhani inang'aa kuwa inaonyesha kama gari E: hapa chini.
  3. Niliweka mkusanyaji kwenye diski yangu ya CP / M, kwa cp / m 2.2 ambayo itakuwa picha ya diski DS0N00. DSK
  4. Amri: cpmcp -f z80mbc2-d0 e: DS0N00. DSK z80asm.com 0: itanakili faili z80asm.com kwa picha
  5. Amri cpmcp -f z80mbc2-d0 e: DS0N00. DSK z80asm.doc 0: itanakili nyaraka kwenye diski (hiari)

Unapofungua cp / m 2.2 kwenye z80-mbc yako, sasa unapaswa kuwa na z80asm.com na z80asm.doc (hiari) kwenye gari A

Hatua ya 2: Nakili Nambari ya Chanzo Kwako Z80-mbc2

Unganisha kwenye z80-mbc ukitumia programu yako ya wastaafu

Ninashauri utumie diski isiyo na watu ili kuhifadhi nambari ya chanzo, kwa mfano f: kuchagua aina hii ya kiendeshi:

F:

baada ya sekunde chache utaona F: haraka.

sasa tumia programu ya zde16 kwenye gari A kuhariri faili tupu:

a: zde16 myled.z80

Hii itaunda faili inayoitwa myled.z80 kwenye diski F:, kumbuka:.z80 inahitajika kwa jina la z80asm kufanya kazi.

Sasa nakili na ubandike msimbo uking'ata, kulingana na kasi yako ya terminal nk unaweza kulazimika kunakili na kubandika katika sehemu ndogo. Au andika! pata hisia za miaka ya 1980 pia.

;

Mtihani wa mtumiaji na ufunguo wa mtumiaji; BDOS sawa na 05h; cp / m BDOS kiingilio USRLED sawa 0; opcode ya Udhibiti wa LED ya Mtumiaji USRKEY sawa na 80h; opcode ya Udhibiti wa Mtumiaji wa DPORT equ 0; DATA bandari i / o CPORT sawa na 1; Amri pato la bandari; org 0100h; ld (estack), sp; weka maelezo yaliyopo ya kurudi kwa cp / m ld sp, stack; ld hl, msg; ujumbe wa hello piga _puts lp: ld a, 1; washa = 1 simu iliyochelewesha kuchelewa kwa simu; Kuchelewesha au kusubiri kitufe / ubadilishe jr z, lp; ikiwa sifuri, hakuna ufunguo / kubadili, nenda tena; kumaliza; iliongozwa: kushinikiza af; kuokoa thamani iliyoongozwa 0 au 1 ld a, USRLED nje (CPORT), a; optcode ilituma pop af nje (DPORT), Kuchelewesha kitanzi ambacho kikiangalia kitufe kilichobanwa kwenye ucheleweshaji wa kitufe au kitufe cha mtumiaji: ld bc, 00e00h; aprox 1 / 2s 8mhz CPU, nadhani kazi safi loop2: dec bc; hesabu kitanzi kushinikiza bc; 6; BDOS mbichi i / o angalia ikiwa ufunguo umesisitizwa ld e, 0ffh piga BDOS pop de; kurudisha maadili yetu kutoka kwa stack pop bc au a; angalia ikiwa ufunguo umesisitizwa kwa terminal ret nz; ndio kurudi (pia inaweka bend bend nz) ld a, USRKEY; Sasa angalia kitufe cha mtumiaji nje (CPORT), a; bandari ya amri katika, (DPORT); soma ufunguo na a, 1; unapendezwa tu na biti 0 ret nz; bc = 0 au c jr nz, kitanzi2; haujamaliza kuhesabu, nenda tena xor a; weka z bendera kwa 0 ret; usirudishe ufunguo wowote uliobanwa, mwisho wa kuchelewesha; weka regs zetu tayari kwa simu za bdos Push de nxt: ld a, (hl); pata char au a; jaribu ikiwa ni 0, mwisho wa msg jr z, umefanywa; ndio imefanywa ld e, a; weka simu kwa BDOS ili uchapishe char ld c, 2 kushinikiza hl; weka kiashiria cha maandishi piga simu BDOS; chapisha pop hl inc hl; char ijr nxt; endelea kufanya: pop de; kumaliza kumaliza regs pop bc ret; na kurudi; msg db 'Jaribio la mtumiaji wa LED, kitufe chochote cha kutoka' db 0ah, 0dh, 0 bye db 'Toka' db 0ah, 0dh, 0 estack dw 0 ds 256 - 2 stack: dw 0

Hifadhi faili ukitumia ESC x. Tazama mwongozo wa matumizi ya ZDE16 kwa habari zaidi, ni kama neno la nyota kwa kuhariri zaidi, isipokuwa chaguzi za Ctrl-K ni tofauti.

Hatua ya 3: Kusanya na kuendesha Programu

Mara tu unapokuwa na nambari yako ya chanzo kwenye mashine.

Aina:

F>

F> a: z80asm myled / Z80ASM Hakimiliki (C) 1983-86 na SLR Systems Rel. 1.32 MYLED / Mwisho wa faili Kupita 1 0 Makosa yamegunduliwa. 406 Baiti kamili. Ishara 16 Zimegunduliwa.

Hii itatafuta faili myled.z80 na itatoa faili ya binary (.com), ndio chaguo / anasimama.

Tazama faili ya z80asm.doc kwa habari zaidi.

Ili kuendesha programu, andika:

F> myled

Jaribio la LED ya Mtumiaji, kitufe chochote cha kutoka Toka F>

Bonyeza kitufe cha mtumiaji au kitufe kwenye kituo cha kutoka.

Imefanywa.

Ilipendekeza: