INHOUDSOPGAWE:
- Voorrade
- Stap 1: Installeer Z80asm op u Z80-mbc2
- Stap 2: Kopieer die bronkode na u Z80-mbc2
- Stap 3: Stel die program saam en voer dit uit
Video: Z80-mbc2 Z80 Code Flash User LED: 3 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
Dit is 'n voorbeeld van 'n gebruiker-LED-program wat in die Z80-samesteller vir die z80-mbc2-rekenaar geskryf is.
Ek het vir my 'n toets- en hersieningsoefening gedoen, dit is my eerste Z80 -program vir meer as 35 jaar.
Geniet dit
Voorrade
Z80-mbc2 rekenaar
'N Afskrif van Z80ASM van SLR Systems Rel. 1.32, kan afgelaai word uit baie cp/m -argiewe
Ek was 'n redakteur, ek het ZDE16 gebruik, aangesien dit reeds op die CP/M-opstartprent was vir die z80-mbc2
Stap 1: Installeer Z80asm op u Z80-mbc2
Ek neem kennis van die gereedskap wat u vir u Z80-MBC2 het, naamlik watter weergawe van cpmtools u ook al gebruik. Hier is die stappe as u die opdragreëlweergawes gebruik:
- Kry die lêers z80asm.com en z80asm.doc (opsioneel) in 'n gids op 'n plek op u gasheer -rekenaar
- Plaas u SD -kaart in dieselfde rekenaar, ek neem aan dat dit as skyf E: hieronder verskyn.
- Ek sit die samesteller op my CP/M skyf A, vir cp/m 2.2, wat die skyfbeeld DS0N00. DSK sou wees
- Die opdrag: cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.com 0: sal die lêer z80asm.com na die prent kopieer
- Die opdrag cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.doc 0: sal die dokumentasie na die skyf kopieer (opsioneel)
As u cp/m 2.2 op u z80-mbc begin, behoort u nou z80asm.com en z80asm.doc (opsioneel) op skyf A te hê
Stap 2: Kopieer die bronkode na u Z80-mbc2
Koppel aan die z80-mbc met u terminale program
Ek stel voor dat u 'n onbevolkte skyf gebruik om die bronkode op te slaan, byvoorbeeld f: om hierdie tipe skyf te kies:
F:
na 'n paar sekondes sien u die F: prompt.
gebruik nou die zde16 -program op ry A om 'n leë lêer te wysig:
a: zde16 myled.z80
Dit skep 'n lêer met die naam myled.z80 op die skyf F:, let op: die.z80 word in die naam benodig om z80asm te laat werk.
Kopieer en plak nou die onderstaande kode, afhangende van u terminale snelheid, ens, moet u moontlik in klein afdelings kopieer en plak. Of tik dit in! kry ook die gevoel van die 1980's terug.
;
; Toets die gebruikers -LED en gebruikersleutel; BDOS equ 05h; cp/m BDOS entry point USRLED equ 0; opcode for User LED control USRKEY equ 80h; opcode for User Switch control DPORT equ 0; DATA poort i/o CPORT equ 1; Command port output; org 0100h; ld (estack), sp; hou bestaande inligting vir terugkeer na cp/m ld sp, stack; ld hl, msg; hallo boodskap oproep _uitsette lp: ld a, 1; skakel aan = 1 oproep geleide oproep vertraging; vertraag en wag vir sleutel (s) jr nz, klaar; nie nul beteken sleutel/skakelaar gedruk xor a; a = 0 oproep gelei oproep vertraging; vertraag of wag vir sleutel/skakelaar jr z, lp; as nul, geen sleutel/skakelaar, gaan weer; afwerking: xor a; sleutel of skakelaar is ingedruk, so gedoen oproep gelei ld hl, totsiens; sê totsiens oproepe; vertoon boodskap HL = ld sp, (estack); oorspronklike stapel ret; terug na cp/m; led: push af; save led value 0 or 1 ld a, USRLED out (CPORT), a; optcode gestuur pop af out (DPORT), a; data gestuur ret;; Vertragingslus waarmee die toets op die terminale of die gebruikersleutelvertraging ingedruk word: ld bc, 00e00h; ongeveer 1/2s 8mhz SVE, pure raai werklus2: dec bc; tel die lus push bc; bespaar regs wanneer u BDOS push de ld c bel, 6; BDOS rou i/o kyk of die toets ingedruk word ld e, 0ffh bel BDOS pop; kry ons waardes terug van stapel pop bc of a; kyk of die toets ingedruk word op terminale ret nz; ja terug (hou ook nz vlag gestel) ld a, USRKEY; Kontroleer nou die gebruikerssleutel (CPORT), a; opdragpoort in a, (DPORT); lees sleutel en a, 1; stel slegs belang in bit 0 ret nz; keer terug as gebruikersleutel op ld a, b; of is bc = 0 of c jr nz, lus2; nie klaar met tel nie, gaan weer xor a; stel die z -vlag op 0 ret; gee geen sleutel terug nie, einde van vertraging; _puts: druk bc; stoor ons regs gereed vir bdos -oproepe push de nxt: ld a, (hl); kry char of a; toets of dit 0 is, einde van msg jr z, klaar; ja so gedaan ld e, a; skakel 'n oproep na BDOS om 'n char ld c, 2 push hl; druk teks wyser call BDOS; druk dit pop hl inc hl; volgende char jr nxt; gaan voort: pop de; klaar herstel regs pop bc ret; en stuur terug; msg db 'Gebruikers LED -toets, enige sleutel om' db 0ah, 0dh, 0 bye db 'Exit' db 0ah, 0dh, 0 estack dw 0 ds 256 - 2 stack: dw 0
Stoor die lêer met behulp van ESC x. Sien die ZDE16-gebruikersgids vir meer inligting; dit is 'n bietjie soos wordstar vir die meeste redigering, behalwe dat die Ctrl-K-opsies anders is.
Stap 3: Stel die program saam en voer dit uit
Sodra u u bronkode op die masjien het.
Tipe:
F>
F> a: z80asm myled/a Z80ASM Kopiereg (C) 1983-86 deur SLR Systems Rel. 1.32 MYLED/A Einde lêer Slaag 1 0 Fout (e) opgespoor. 406 Absolute Bytes. 16 Simbole opgespoor.
Dit sal na die lêer myled.z80 soek en 'n binêre (.com) lêer produseer, dit is waarvoor die opsie /a staan.
Sien die z80asm.doc -lêer vir meer inligting.
Om die program uit te voer, tik:
F> myled
Gebruikers -LED -toets, enige sleutel om afrit F> te verlaat
Druk op die gebruikersknoppie of op 'n sleutel op die terminale om te verlaat.
Klaar.
Aanbeveel:
Mash Up Arduino Code Monsters: 6 stappe (met foto's)
Mash Up Arduino Code Monsters: Hierdie tutoriaal loop deur die proses om Arduino -monstersketse te kombineer om 'n prototipe van 'n werkende projek te maak. Die ontwikkeling van die kode vir u projek kan die mees intimiderende deel wees, veral as u dit al duisend keer nie gedoen het nie
Castle Planter (met Tinkercad Code Blocks): 25 stappe (met foto's)
Castle Planter (met Tinkercad Code Blocks): Hierdie ontwerp hier het my 'n hele rukkie geneem om te bereik, en omdat my koderingsvaardighede op die minste beperk is, hoop ek dat dit goed gegaan het :) Deur die instruksies te volg, moet u dit kan doen herskep elke aspek van hierdie ontwerp heeltemal sonder
Morse Code Station: 3 stappe
Morse Code Station: Dit-dit-dah-dah! Leer Morse -kode met hierdie maklike Arduino Uno -projek. Hierdie maklike Arduino -projek is 'n Morse Code -stasie. Morse Code is 'n kommunikasiemetode wat karakters as 'n reeks kolletjies en strepies kodeer. Hierdie kring gebruik 'n piëzo -zoemer om
LabDroid: Morse Code Encoder/Decoder: 4 stappe
LabDroid: Morse Code Encoder/Decoder: Let wel: hierdie instruksie kan nie 1: 1 in die nuutste weergawe van LabDroid gerealiseer word nie. Ek sal dit binnekort opdateer. Hierdie projek sal jou wys wat jy met LabDroid kan doen. Aangesien 'n Hello World gewoonlik gemaak word op grond van teks, lig of klank, het ek vir LabDr gedink
Arduino Morse Code Writer: 7 stappe (met foto's)
Arduino Morse Code Writer: Ek het 'n robot gemaak wat 'n gegewe teks in Morse -kode kan omskep en dit dan kan neerskryf !! Dit is gemaak van karton en Lego, en vir die elektronika gebruik ek Arduino en slegs twee motors