Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Z80asm-ийг Z80-mbc2 дээрээ суулгаарай
- Алхам 2: Эх кодыг Z80-mbc2 рүү хуулж ав
- Алхам 3: Хөтөлбөрийг эмхэтгэж ажиллуулна уу
Видео: Z80-mbc2 Z80 Code Flash хэрэглэгчийн LED: 3 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
Энэ бол z80-mbc2 компьютерт зориулсан Z80 ассемблер дээр бичигдсэн хэрэглэгчийн LED програмын жишээ юм.
Би үүнийг туршилт, засварын дасгал хийлээ, энэ бол 35 жилийн турш хийсэн анхны Z80 програм юм.
Зугаацаарай
Хангамж
Z80-mbc2 компьютер
SLR Systems Rel -аас Z80ASM -ийн хуулбар. 1.32, олон cp/m архиваас татаж авах боломжтой
Редактор, би ZDE16-ийг ашиглаж байсан, учир нь энэ нь z80-mbc2-ийн CP/M ачаалах дүрс дээр байсан.
Алхам 1: Z80asm-ийг Z80-mbc2 дээрээ суулгаарай
Таны Z80-MBC2-д зориулсан хэрэгслүүд, тухайлбал таны ашигладаг cpmtools-ийн аль ч хувилбарыг сайн мэддэг гэж би бодож байна. Тушаалын мөрийн хувилбаруудыг ашиглаж байгаа бол дараах алхмуудыг дагана уу.
- Z80asm.com ба z80asm.doc (заавал биш) файлуудыг өөрийн хост компьютерийн аль нэг хэсэгт лавлахаас аваарай
- SD картаа ижил компьютер дээр тавь, энэ нь доорх E: хөтөч хэлбэрээр харагдаж байна гэж би бодож байна.
- Би угсрагчийг CP/M диск A дээрээ суулгасан, cp/m 2.2 -ийн хувьд энэ нь DS0N00. DSK дискний дүрс байх болно.
- Команда: cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.com 0: z80asm.com файлыг зураг руу хуулах болно.
- Cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.doc 0: тушаал нь баримт бичгийг диск рүү хуулах болно (заавал биш)
Та z80-mbc дээрээ cp/m 2.2-ийг ачаалах үед та одоо A хөтөч дээр z80asm.com болон z80asm.doc (заавал биш) байх ёстой.
Алхам 2: Эх кодыг Z80-mbc2 рүү хуулж ав
Терминал програмаа ашиглан z80-mbc руу холбогдоно уу
Эх кодыг хадгалахын тулд дүүргэгдээгүй диск ашиглахыг зөвлөж байна, жишээлбэл f: энэ драйвын төрлийг сонгохын тулд:
F:
хэдхэн секундын дараа та F: хүлээх мөрийг харах болно.
хоосон файлыг засварлахын тулд А диск дээрх zde16 програмыг ашиглана уу.
a: zde16 myled.z80
Энэ нь F: диск дээр myled.z80 нэртэй файл үүсгэх болно. Анхаарна уу: z80asm ажиллахын тулд.z80 нэр шаардлагатай.
Терминалийн хурд зэргээс шалтгаалан доорх кодыг хуулж буулгана уу. Та жижиг хэсгүүдэд хуулж буулгах хэрэгтэй болж магадгүй юм. Эсвэл бичээрэй! 1980 -аад оны мэдрэмжийг бас эргүүлэн олж аваарай.
;
Хэрэглэгчийн LED болон хэрэглэгчийн түлхүүрийг шалгах; BDOS тэнцэх 05h; cp/m BDOS оролтын цэг USRLED тэнцэх 0; Хэрэглэгчийн LED удирдлагын опкод USRKEY equ 80h; User Switch -ийн хяналтын кодын DPORT тэнцэх 0; DATA порт i/o CPORT equ 1; Командын портын гаралт; байгууллага 0100h; ld (estack), sp; ld hl, msg; Сайн байна уу мессежийн дуудлага _puts lp: ld a, 1; асаах = 1 дуудлагаас дуудлага хойшлуулах; хойшлуулах, түлхүүрүүдийг хүлээх jr nz, дуусгах; тэг биш бол xor a товчлуур/унтраалга дарагдсан гэсэн үг; a = 0 дуудлага дуудлага хойшлуулах; түлхүүр/шилжүүлэгчийг хойшлуулах эсвэл хүлээх jr z, lp; тэг бол түлхүүр/унтраалга байхгүй бол дахин очно уу дуусгах: xor a; товчлуур эсвэл унтраалга дарагдсан тул дуудлага хийсэн ld hl, баяртай; баяртай гэж хэлээрэй _puts; дэлгэцийн мессеж HL = ld sp, (estack); анхны стек ret; cp/m руу буцах; удирдсан: түлхэх af; удирдсан утгыг хадгалах 0 эсвэл 1 ld a, USRLED гарах (CPORT), a; optcode илгээсэн pop af out (DPORT), a; өгөгдөл илгээгдсэн ret; Терминал эсвэл хэрэглэгчийн түлхүүрийн саатал дээр дарагдсан түлхүүрийг шалгадаг хойшлуулах давталт: ld bc, 00e00h; ойролцоогоор 1/2s 8mhz CPU, цэвэр таамаглах ажлын давталт2: dec bc; давталт bc тоолох; BDOS push de ld c руу залгахдаа регсийг хадгалах, 6; BDOS raw i/o түлхүүр дарагдсан эсэхийг шалгах ld e, 0ffh дуудлага BDOS pop de; стек pop bc эсвэл a -ээс бидний утгыг буцааж авах; терминал ret nz дээр товчлуур дарагдсан эсэхийг шалгана уу; тийм бол буцах (мөн nz туг тогтоосон хэвээр хадгална) ld a, USRKEY. bc = 0 эсвэл c jr nz, loop2; тоолж дуусаагүй, дахин яв xor a; z тугийг 0 ret болгож тохируулна уу; _puts: push bc; bdos дуудлагад манай бүртгэлүүдийг хадгална push de nxt: ld a, (hl); char эсвэл a авах; 0 эсэхийг шалгана уу, msg jr z -ийн төгсгөл, дууссан; тийм байна, ld e, a; char ld c, 2 push hl хэвлэхийн тулд BDOS руу дуудлага тохируулах; текст заагчийн дуудлага хадгалах BDOS; үүнийг хэвлэх pop hl inc hl; дараагийн char jr nxt; үргэлжлүүлээрэй: pop de; regs pop bc ret -ийг сэргээж дуусгах; буцах; msg db 'Хэрэглэгчийн LED тест,' db 0ah, 0dh, 0 bye db 'Exit' db 0ah, 0dh, 0 estack dw 0 ds 256 - 2 стек: dw 0
ESC x ашиглан файлыг хадгална уу. Дэлгэрэнгүй мэдээллийг ZDE16 ашиглах гарын авлагаас үзнэ үү, энэ нь Ctrl-K сонголтуудаас өөр байхаас бусад тохиолдолд ихэнх засварлахад зориулагдсан wordstar шиг байдаг.
Алхам 3: Хөтөлбөрийг эмхэтгэж ажиллуулна уу
Эх кодоо машин дээр тавьсны дараа.
Төрөл:
F>
F> a: z80asm myled/a Z80ASM Copyright (C) 1983-86 by SLR Systems Rel. 1.32 MYLED/A Файлын төгсгөл 1 0 Алдаа илрүүлэв. 406 Абсолют байт. 16 тэмдэг илрүүлсэн.
Энэ нь myled.z80 файлыг хайж, хоёртын (.com) файлыг үүсгэх бөгөөд энэ нь сонголт /a гэсэн үг юм.
Дэлгэрэнгүй мэдээллийг z80asm.doc файлаас үзнэ үү.
Програмыг ажиллуулахын тулд дараахийг бичнэ үү.
F> myled
Хэрэглэгчийн LED тест, F> -ээс гарах дурын түлхүүр
Гарахын тулд хэрэглэгчийн товчлуур эсвэл терминал дээрх товчлуурыг дарна уу.
Дууссан.
Зөвлөмж болгож буй:
RTC ба хэрэглэгчийн тодорхойлсон пин код бүхий цахим аюулгүй байдлын систем: 7 алхам
RTC ба хэрэглэгчийн тодорхойлсон пин код бүхий цахим аюулгүй байдлын систем: Сайн байна уу залуусаа! Энэ бол миний бичил хянагч ашиглан цахим PIN кодын аюулгүй байдлын системийг ашиглан бодит цагийн цаг, хэрэглэгчийн тодорхойлсон пин кодын онцлог шинж чанаруудыг ашиглан хийсэн төсөл бөгөөд энэ хуудсан дээр өөрийн гараар хийх бүх нарийн мэдээллийг агуулсан болно
WEB хэрэглэгчийн интерфэйстэй Arduino батерейны шалгагч: 5 алхам
WEB хэрэглэгчийн интерфэйстэй Arduino батерейны шалгагч .: Өнөөдөр электрон төхөөрөмж нь тоног төхөөрөмжийг унтраасан эсвэл санамсаргүй байдлаар унтраасан үед үлдсэн байдлыг хадгалахын тулд нөөц батерейг ашигладаг. Хэрэглэгч асаахад үлдсэн газартаа буцаж ирдэг
Андройд хэрэглэгчийн интерфэйстэй логик анализатор: 7 алхам
Андройд хэрэглэгчийн интерфэйстэй логик анализатор: Дэлхий маш олон логик анализатороор дүүрсэн байна. Электроникийн хоббигийн хувьд надад алдааг олж засварлах, дибаг хийх шаардлагатай байсан. Би интернэтээс хайсан боловч хайсан хүнээ олсонгүй. Тиймээс би энд танилцуулж байна … " ТЭГВЭР Ло
Google хуанли бүхий олон хэрэглэгчийн ухаалаг толь: 10 алхам
Google хуанли бүхий олон хэрэглэгчийн ухаалаг толь: Энэхүү зааварчилгаанд бид Google календарьтай нэгдсэн ухаалаг толь бүтээх болно. Ухаалаг толь үнэхээр дажгүй санагдсан тул би энэ төслийг хийсэн. Тэд өглөө болсон бурханы бэлэг юм. Гэхдээ би өөрөө тэгээс хийхээр шийдсэн, учир нь бусад нь
OLED-UI-тэй ARDUINO цэсийн дизайн (хэрэглэгчийн интерфэйс): 4 алхам
ARDUINO MENU DESIGN with OLED-UI (USER INTERFACE): Сайн байна уу, энэ гарын авлагад би i2c OLED дэлгэц ашиглан ARDUINO MENU DESIGN-ийг хэрхэн хийхийг тайлбарлахыг хичээх болно. Үүнийг бас UI (Хэрэглэгчийн интерфэйс) гэж нэрлэдэг. Энэ нь олон төсөлд ашиглагдаж байсан боловч 3d принтерээс тантай танилцсан байх ёстой :) Энд бас видео