Tartalomjegyzék:
- Kellékek
- 1. lépés: Telepítse a Z80asm készüléket a Z80-mbc2 készülékre
- 2. lépés: Másolja át a forráskódot Önnek Z80-mbc2
- 3. lépés: Fordítsa le és futtassa a programot
Videó: Z80-mbc2 Z80 kódvaku Felhasználói LED: 3 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Ez egy példa a felhasználói LED programra, amelyet Z80 assemblerben írtak a z80-mbc2 számítógéphez.
Ezt a teszt- és felülvizsgálati gyakorlatot magamnak csináltam, ez az első Z80 programom több mint 35 éve.
Élvezd
Kellékek
Z80-mbc2 számítógép
A Z80ASM másolata az SLR Systems Rel. 1.32, letölthető sok cp/m archívumból
Szerkesztő, a ZDE16-ot használtam, mivel már benne volt a z80-mbc2 CP/M rendszerindító képében
1. lépés: Telepítse a Z80asm készüléket a Z80-mbc2 készülékre
Feltételezem, hogy ismeri a Z80-MBC2 eszközeit, nevezetesen a cpmtools bármilyen verzióját. Az alábbi lépések a parancssori verziók használatakor:
- Szerezze be a z80asm.com és a z80asm.doc fájlokat (opcionális) egy könyvtárba, ahol a gazdagépen található.
- Tegye az SD -kártyát ugyanabba a számítógépbe, feltételezem, hogy az alábbiakban E meghajtóként jelenik meg.
- Az összeszerelőt a CP/M A lemezemre tettem, cp/m 2.2 esetén DS0N00. DSK lemezkép
- A parancs: cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.com 0: a z80asm.com fájlt másolja a képre
- A cpmcp -f z80mbc2 -d0 e parancs: DS0N00. DSK z80asm.doc 0: a dokumentációt a lemezre másolja (opcionális)
Amikor a cp/m 2.2 rendszert indítja el a z80-mbc készüléken, mostantól a z80asm.com és a z80asm.doc fájlnak (opcionális) kell lennie az A meghajtón.
2. lépés: Másolja át a forráskódot Önnek Z80-mbc2
Csatlakozzon a z80-mbc-hez a terminálprogram segítségével
Javaslom, hogy használjon nem népesített lemezt a forráskód mentésére, például f: a következő meghajtótípus kiválasztásához:
F:
néhány másodperc múlva megjelenik az F: prompt.
most használja az A meghajtó zde16 programját egy üres fájl szerkesztéséhez:
a: zde16 myled.z80
Ez létrehozza a myled.z80 nevű fájlt az F: lemezen, megjegyzés: a.z80 szükséges a névben, hogy a z80asm működjön.
Most másolja ki és illessze be az alábbi kódot, a terminál sebességétől stb. Függően, előfordulhat, hogy másolni és beilleszteni kell kis szakaszokba. Vagy írd be! vegye vissza azt az 1980 -as évek hangulatát is.
;
; Ellenőrizze a felhasználói LED -et és a felhasználói kulcsot; BDOS equ 05h; cp/m BDOS belépési pont USRLED equ 0; opcode a felhasználói LED vezérléshez USRKEY equ 80h; opcode a User Switch vezérléshez DPORT equ 0; DATA port i/o CPORT equ 1; Command port output; org 0100h; ld (estack), sp; meglévő információk megőrzése a cp/m ld sp, verem eléréséhez; ld hl, msg; hello message call _put lp: ld a, 1; bekapcsolás = 1 hívás vezetett hívás késleltetés; késleltetés és várakozás a kulcs (ok) ra jr nz, befejezés; nem nulla jelenti a gombot/kapcsolót lenyomva xor a; a = 0 hívás vezetett hívás késleltetés; késleltetés vagy várakozás a kulcsra/kapcsolóra jr z, lp; ha nulla, nincs kulcs/kapcsoló, menjen újra; befejezés: xor a; billentyűt vagy kapcsolót megnyomtak, így kész hívás ld hl, bye; mondd bye call _putok; kijelző msg HL = ld sp, (estack); eredeti verem ret; visszatérés a cp/m -hez; led: push af; mentett led érték 0 vagy 1 ld a, USRLED out (CPORT), a; optcode küldött pop af out (DPORT), a; adatok küldve ret;; Késleltető hurok, amely ellenőrzi, hogy a billentyű lenyomva van -e a terminálon, vagy a felhasználói kulcs késleltetése: ld bc, 00e00h; kb. 1/2s 8mhz CPU, tiszta találgatási munkakör2: dec bc; számolja a ciklus push bc -t; mentse a szabályokat a BDOS push de ld c hívásakor, 6; BDOS nyers i/o ellenőrizze, hogy megnyomták -e a gombot ld e, 0ffh hívja a BDOS pop de -t; visszakapjuk értékeinket a verem pop bc vagy a; ellenőrizze, hogy megnyomták -e a gombot a terminálon ret nz; igen visszatér (az nz zászlót is tartja) ld a, USRKEY; Most nézze meg a felhasználói kulcsot (CPORT), a; parancsport az a -ban, (DPORT); olvasási kulcs és a, 1; csak a 0 -as ret nz érdekli; visszatér, ha a felhasználói gomb megnyomta az ld a, b; vagy bc = 0 vagy c jr nz, loop2; nem fejezte be a számlálást, menjen újra xor a; állítsa a z zászlót 0 ret -re; ne adja vissza a gombot, késleltetés vége; _puts: push bc; mentse regisztereinket a bdos hívásokhoz push de nxt: ld a, (hl); get char vagy a; tesztelje, ha 0, msg jr z vége, kész; yes so done ld e, a; hívás beállítása a BDOS -hoz egy char ld c, 2 push hl; szöveges mutató hívása BDOS; nyomtatás pop hl inc hl; next char jr nxt; folytassa: pop de; befejezett visszaállítási reg b pop ret; és visszatér; msg db 'Felhasználói LED teszt, bármelyik billentyű kilépéshez' db 0ah, 0dh, 0 bye db 'Kilépés' db 0ah, 0dh, 0 estack dw 0 ds 256 - 2 stack: dw 0
Mentse a fájlt az ESC x használatával. További információért lásd a ZDE16 használati útmutatót, ez egy kicsit olyan, mint a Wordstar a legtöbb szerkesztéshez, kivéve a Ctrl-K opcióit.
3. lépés: Fordítsa le és futtassa a programot
Miután megvan a forráskód a gépen.
Típus:
F>
F> a: z80asm myled/a Z80ASM Copyright (C) 1983-86 by SLR Systems Rel. 1.32 MYLED/A Fájl vége Pass 1 0 Hiba észlelve. 406 Abszolút bájt. 16 Szimbólum észlelve.
Ez megkeresi a myled.z80 fájlt, és létrehoz egy bináris (.com) fájlt, ezt jelenti az /a opció.
További információért tekintse meg a z80asm.doc fájlt.
A program futtatásához írja be:
F> myled
Felhasználói LED -teszt, bármelyik gomb az F> kilépéshez
A kilépéshez nyomja meg a felhasználói gombot vagy a terminál egyik gombját.
Kész.
Ajánlott:
Esp8266 alapú Boost Converter lenyűgöző Blynk felhasználói felülettel, visszacsatoló szabályzóval: 6 lépés
Esp8266 alapú Boost Converter lenyűgöző Blynk felhasználói felülettel, visszacsatoló szabályzóval: Ebben a projektben megmutatom Önnek a hatékony és gyakori módot az egyenfeszültség növelésére. Megmutatom, milyen egyszerű lehet egy Nodemcu segítségével egy erősítő átalakítót építeni. Építsük fel. Tartalmaz egy képernyőn megjelenő voltmérőt és egy visszajelzést is
Arduino akkumulátor tesztelő WEB felhasználói felülettel: 5 lépés
Arduino akkumulátor tesztelő WEB felhasználói felülettel: Ma az elektronikus berendezések tartalék elemeket használnak, hogy megmentsék azt az állapotot, amelyben a műveletet a berendezés kikapcsolásakor vagy a véletlen kikapcsolásakor hagyták. A felhasználó bekapcsoláskor visszatér arra a pontra, ahol maradt
Készítsen Bluetooth -vezérlésű robotot saját grafikus felhasználói felületével: 5 lépés
Készítsen Bluetooth -vezérlésű robotot saját grafikus felhasználói felülettel: Helló barátaim, miután ma kézműves projektet készítettem, itt egy hűvös arduino projektet kaptam. Külsőre régi koncepciónak tűnik, de várjon srácok, van itt egy csavar, ami egyedivé teszi ezt a projektet. Tehát mi itt az egyedi? Tehát itt megmutatom nektek
Logikai elemző Android felhasználói felülettel: 7 lépés
Logikai elemző Android felhasználói felülettel: A világot már elárasztja annyi logikai elemző. Elektronikai hobbimban szükségem volt egy hibaelhárításra és hibakeresésre. Kerestem az interneten, de nem találtam azt, amit kerestem. Tehát itt vagyok, és bemutatom … "MÉG egy másik Lo
Könnyen megvalósítható felhasználói felület -- OLED kijelző joystick és gombok: 6 lépés
Könnyen megvalósítható felhasználói felület || OLED kijelző joystick-kal és gombokkal: Ez a modul OLED kijelzővel rendelkezik, két gombbal, 5-irányú joystickkal és 3 tengelyes gyorsulásmérővel. Ez hasznos a projekt felhasználói felületének beállításához. Hé, mi van srácok? Akarsh itt a CETech-től. Ma egy all-in-one modult fogunk megnézni, amely