Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: I-install ang Z80asm sa Iyong Z80-mbc2
- Hakbang 2: Kopyahin ang Source Code sa Iyo Z80-mbc2
- Hakbang 3: Pagsamahin at Patakbuhin ang Programa
Video: Z80-mbc2 Z80 Code Flash User LED: 3 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Ito ay isang halimbawa ng programang LED ng gumagamit na nakasulat sa Z80 assembler para sa z80-mbc2 computer.
Ginawa ko ito para sa akin ng isang pagsubok at rebisyon na ehersisyo, ito ang aking unang programa ng Z80 sa loob ng higit sa 35 taon.
Tangkilikin
Mga gamit
Z80-mbc2 computer
Isang kopya ng Z80ASM mula sa SLR Systems Rel. 1.32, nada-download mula sa maraming mga archive ng cp / m
Isang editor, ginamit ko ang ZDE16, dahil nasa ang imahe ng boot na CP / M para sa z80-mbc2
Hakbang 1: I-install ang Z80asm sa Iyong Z80-mbc2
Ipinapalagay ko ang ilang pamilyar sa mga tool na mayroon ka para sa iyong Z80-MBC2, lalo na ang anumang bersyon ng cpmtools na iyong ginagamit. Narito ang mga hakbang kung gumagamit ng mga bersyon ng linya ng utos:
- Kunin ang mga file na z80asm.com at z80asm.doc (opsyonal) sa isang direktoryo ng ilang lugar sa iyong host PC
- Ilagay ang iyong SD card sa parehong PC, ipinapalagay ko sa ibaba na ito ay ipinapakita bilang drive E: sa ibaba.
- Inilagay ko ang assembler sa aking CP / M disk A, para sa cp / m 2.2 na magiging disk image DS0N00. DSK
- Ang utos: cpmcp -f z80mbc2-d0 e: DS0N00. DSK z80asm.com 0: kokopyahin ang file na z80asm.com sa imahe
- Ang utos cpmcp -f z80mbc2-d0 e: DS0N00. DSK z80asm.doc 0: kokopyahin ang dokumentasyon sa disk (opsyonal)
Kapag nag-boot ka ng cp / m 2.2 sa iyong z80-mbc, dapat mayroon ka na ngayong z80asm.com at z80asm.doc (opsyonal) sa drive A
Hakbang 2: Kopyahin ang Source Code sa Iyo Z80-mbc2
Kumonekta sa z80-mbc gamit ang iyong terminal program
Iminumungkahi kong gumamit ka ng isang hindi popular na disk upang mai-save ang source code, halimbawa f: upang piliin ang uri ng drive na ito:
F:
pagkatapos ng ilang segundo makikita mo ang F: prompt.
gamitin ngayon ang zde16 program sa drive A upang mai-edit ang isang blangko na file:
a: zde16 myled.z80
Lilikha ito ng isang file na tinatawag na myled.z80 sa disk F:, note: ang.z80 ay kinakailangan sa pangalan para gumana ang z80asm.
Ngayon kopyahin at i-paste ang code sa ibaba, depende sa bilis ng iyong terminal atbp maaaring kailangan mong kopyahin at i-paste sa maliliit na seksyon. O i-type ito! ibalik din ang pakiramdam ng 1980 na iyon.
;
; Subukan ang LED user at Key ng gumagamit; BDOS equ 05h; cp / m BDOS entry point USRLED equ 0; opcode para sa User LED control USRKEY equ 80h; opcode para sa User Switch control DPORT equ 0; DATA port i / o CPORT equ 1; Command port output; org 0100h; ld (estack), sp; panatilihin ang mayroon nang impormasyon para sa pagbalik sa cp / m ld sp, stack; ld hl, msg; hello message call _puts lp: ld a, 1; turn on = 1 call led call delay; antala at hintayin ang (mga) key jr nz, tapusin; non zero nangangahulugang key / switch na pinindot xor a; a = 0 call led call delay; antala o maghintay para sa key / switch jr z, lp; kung zero, walang key / switch, pumunta muli; tapusin: xor a; ang susi o switch ay pinindot, tapos na ang call led ld hl, bye; say bye call _puts; display msg HL = ld sp, (estack); orihinal na stack ret; bumalik sa cp / m; led: push af; save led value 0 or 1 ld a, USRLED out (CPORT), a; optcode sent pop af out (DPORT), a; data sent ret;; Ipa-antala ang loop na suriin ang susi na pinindot sa terminal o pagkaantala ng key ng gumagamit: ld bc, 00e00h; aprox 1 / 2s 8mhz CPU, puro hula work loop2: dec bc; count the loop push bc; save regs when calling BDOS push de ld c, 6; BDOS raw i / o suriin kung pinindot ang key ld e, 0ffh tumawag sa BDOS pop de; ibalik ang aming mga halaga mula sa stack pop bc o a; suriin kung ang key ay pinindot sa terminal ret nz; oo bumalik (pinapanatili din ang nz flag set) ld a, USRKEY; Ngayon suriin ang key ng gumagamit (CPORT), a; command port sa isang, (DPORT); basahin ang key at a, 1; interesado lamang sa bit 0 ret nz; bumalik kung pinindot ng userkey ld a, b; o ay bc = 0 o c jr nz, loop2; hindi natapos ang pagbibilang, pumunta muli xor a; itakda ang z flag sa 0 ret; ibalik walang pinindot na key, pagtatapos ng pagkaantala; _puts: push bc; i-save ang aming mga regs handa para sa mga tawag ng bdos na push de nxt: ld a, (hl); kumuha ng char o a; subukan kung ito ay 0, pagtatapos ng msg jr z, tapos na; oo kaya nagawa ld e, a; i-set up ang tawag sa BDOS upang mai-print ang isang char ld c, 2 push hl; i-save ang text pointer call na BDOS; i-print ito pop hl inc hl; susunod na char jr nxt; magpatuloy na gawin: pop de; tapos ibalik ang regs pop bc ret; at bumalik; msg db 'User LED test, anumang key upang lumabas' db 0ah, 0dh, 0 bye db 'Exit' db 0ah, 0dh, 0 estack dw 0 ds 256 - 2 stack: dw 0
I-save ang file gamit ang ESC x. Tingnan ang gabay sa paggamit ng ZDE16 para sa karagdagang impormasyon, medyo katulad ito ng wordstar para sa karamihan ng pag-edit, maliban sa mga pagpipilian sa Ctrl-K na magkakaiba.
Hakbang 3: Pagsamahin at Patakbuhin ang Programa
Kapag mayroon ka ng iyong source code sa makina.
Uri:
F>
F> a: z80asm myled / isang Z80ASM Copyright (C) 1983-86 ng SLR Systems Rel. 1.32 MYLED / A End of file Pass 1 0 (Mga) Error na Nakita. 406 Ganap na Bytes. 16 Mga Simbolo na Natukoy.
Hahanapin nito ang file na myled.z80 at makagawa ng isang binary (.com) na file, iyon ang pinaninindigan ng opsyon / a.
Tingnan ang z80asm.doc file para sa karagdagang impormasyon.
Upang patakbuhin ang programa, i-type ang:
F> myled
Pagsubok ng LED ng gumagamit, anumang susi upang lumabas sa Exit F>
Pindutin ang alinman sa pindutan ng gumagamit o isang susi sa terminal upang lumabas.
Tapos na.
Inirerekumendang:
Electronic Security System Sa RTC at Pagtukoy ng User Pin Code: 7 Mga Hakbang
Electronic Security System Sa RTC at Pagtukoy ng User Pin Code: Kumusta Guys! Ito ay isang proyekto na ginawa ko gamit ang pic microcontroller nito isang Electronic PIN Code Security System na may real time na orasan at tinukoy ng gumagamit ang mga tampok na pin code, naglalaman ang pahinang ito ng lahat ng mga detalye upang magawa mo ang isa. ITS WORKING AND CONCEPT: Well
Arduino Battery Tester Sa WEB User Interface .: 5 Mga Hakbang
Arduino Battery Tester Sa WEB User Interface .: Ngayon, ang elektronikong kagamitan ay gumagamit ng mga backup na baterya upang mai-save ang estado kung saan naiwan ang operasyon nang ang kagamitan ay naka-patay o kung hindi sinasadya, ang kagamitan ay napapatay. Ang gumagamit, kapag binuksan, ay bumalik sa puntong siya ay nanatili
Gumawa ng Mga Video na Lumipas sa Oras Gamit ang Raspberry Pi (11 Mga Linya ng Code): 12 Mga Hakbang (na may Mga Larawan)
Gumawa ng Mga Video ng Paglipas ng Oras Gamit ang Raspberry Pi (11 Mga Linya ng Code): Kamakailan lamang ay nagtanim ako ng ilang mga binhi sa aking talahanayan sa unang pagkakataon. Talagang nasasabik akong panoorin ang paglaki nila, ngunit sa alam nating lahat na ito ay isang mabagal na proseso. Hindi makita ang paglago ay talagang nabigo ako ngunit biglang electronics hobbyist sa loob ng aking gisingin
Paano Mag-hack Vista Mga Pagkontrol ng Magulang Bilang isang Karaniwang User .: 6 Mga Hakbang
Paano Mag-hack ng Vista Control ng Mga Magulang Bilang isang Karaniwang User .: ito ay isang paglalarawan sa kung paano i-hack ang mga windows vista na mga kontrol ng magulang bilang isang hindi administrator. kung ang iyong isang administrator maaari mong kontrolin ang mga kontrol ng magulang kaya't talagang hindi nila kailangan ito
I-undelete ang Mga Ito na Tinanggal na Mga File, Napakadali at User-friendly .: 7 Mga Hakbang
I-undelete ang Mga Ito na Tinanggal na Mga File, Napakadali at Magagamit-friendly .: Kailanman tinanggal ang isang file mula sa iyong ekstrang hard drive, ang iyong camera, mp3 o kahit na pinawalan ka ng recyle bin at pagkatapos ay napagtanto na gusto mo pa rin ang file na iyon? Ito ay isang simpleng paraan upang mabawi ang mga file na iyon. Naidagdag ito na maaaring turuan na tinanggal ko ang bawat yugto ng pamilya g