Isi kandungan:
- Bekalan
- Langkah 1: Pasang Z80asm pada Z80-mbc2 anda
- Langkah 2: Salin Kod Sumber kepada Anda Z80-mbc2
- Langkah 3: Susun dan Jalankan Program
Video: Z80-mbc2 Z80 Code Flash LED Pengguna: 3 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Ini adalah contoh program LED pengguna yang ditulis dalam assembler Z80 untuk komputer z80-mbc2.
Saya melakukan ini sebagai ujian dan latihan penyemakan bagi saya, ini adalah program Z80 pertama saya selama lebih dari 35 tahun.
Nikmati
Bekalan
Komputer Z80-mbc2
Salinan Z80ASM dari SLR Systems Rel. 1.32, boleh dimuat turun dari banyak arkib cp / m
Seorang editor, saya menggunakan ZDE16, kerana ia sudah ada pada gambar boot CP / M untuk z80-mbc2
Langkah 1: Pasang Z80asm pada Z80-mbc2 anda
Saya mengandaikan beberapa alat yang anda miliki untuk Z80-MBC2 anda, iaitu versi cpmtools apa sahaja yang anda gunakan. Berikut adalah langkah-langkahnya jika menggunakan versi baris perintah:
- Dapatkan fail z80asm.com dan z80asm.doc (pilihan) dalam direktori di beberapa tempat di PC hos anda
- Letakkan kad SD anda di PC yang sama, saya anggap di bawahnya ditunjukkan seperti pemacu E: di bawah.
- Saya meletakkan assembler pada cakera CP / M saya A, untuk cp / m 2.2 yang akan menjadi gambar cakera DS0N00. DSK
- Perintah: cpmcp -f z80mbc2-d0 e: DS0N00. DSK z80asm.com 0: akan menyalin fail z80asm.com ke gambar
- Perintah cpmcp -f z80mbc2-d0 e: DS0N00. DSK z80asm.doc 0: akan menyalin dokumentasi ke cakera (pilihan)
Apabila anda boot cp / m 2.2 pada z80-mbc anda, kini anda harus mempunyai z80asm.com dan z80asm.doc (pilihan) pada pemacu A
Langkah 2: Salin Kod Sumber kepada Anda Z80-mbc2
Sambung ke z80-mbc menggunakan program terminal anda
Saya cadangkan anda menggunakan cakera yang tidak dihuni untuk menyimpan kod sumber, misalnya f: untuk memilih jenis pemacu ini:
F:
selepas beberapa saat anda akan melihat arahan F:
sekarang gunakan program zde16 pada pemacu A untuk mengedit fail kosong:
a: zde16 myled.z80
Ini akan membuat fail bernama myled.z80 pada cakera F:, note:.z80 diperlukan dalam nama agar z80asm berfungsi.
Sekarang salin dan tampal kod di bawah, bergantung pada kelajuan terminal anda dan lain-lain, anda mungkin perlu menyalin dan menampal di bahagian kecil. Atau taipkannya! dapatkan semula era 1980-an juga.
;
; Uji LED pengguna dan kunci pengguna; BDOS eku 05h; cp / m BDOS titik masuk USRLED eku 0; opcode untuk kawalan LED Pengguna USRKEY sama 80h; opcode untuk kawalan Suis Pengguna DPORT eku 0; Port DATA i / o CPORT eku 1; Output port perintah; org 0100h; ld (estack), sp; simpan maklumat yang ada untuk kembali ke cp / m ld sp, timbunan; ld hl, msg; hello message call _puts lp: ld a, 1; hidupkan = 1 panggilan diketuai kelewatan panggilan; tunda dan tunggu untuk kunci jr nz, selesai; bukan sifar bermaksud kekunci / suis ditekan xor a; a = 0 penangguhan panggilan dipimpin panggilan; kelewatan atau tunggu kunci / suis jr z, lp; jika sifar, tanpa kunci / suis, pergi lagi; selesai: xor a; kekunci atau suis ditekan, panggilan selesai dilakukan ld hl, bye; say bye call _puts; display msg HL = ld sp, (estack); ret stack semula; kembali ke cp / m; led: push af; save led value 0 atau 1 ld a, USRLED out (CPORT), a; optcode dihantar pop af out (DPORT), a; data dihantar ret;; Gelung kelewatan yang menekan butang ditekan pada terminal atau kelewatan kekunci pengguna: ld bc, 00e00h; aprox 1 / 2s 8mhz CPU, loop kerja tekaan murni2: dec bc; hitung loop push bc; save regs ketika memanggil BDOS push de ld c, 6; BDOS mentah i / o periksa sama ada kekunci ditekan ld e, 0ffh hubungi BDOS pop de; dapatkan nilai kami kembali dari tumpukan pop bc atau a, USRKEY; Sekarang periksa kunci pengguna keluar (CPORT), a; port arahan dalam bc = 0 atau c jr nz, loop2; belum selesai mengira, pergi lagi xor a; tetapkan bendera z ke 0 ret; kembalikan tidak ada kekunci yang ditekan, akhir kelewatan; _puts: push bc; save regs kami siap untuk panggilan bdos push de nxt: ld a, (hl); get char or a; test if it 0, end of msg jr z, selesai; ya begitu ld e, a; sediakan panggilan ke BDOS untuk mencetak char ld c, 2 push hl; save text pointer call BDOS; print it pop hl inc hl; next char jr nxt; teruskan dilakukan: pop de; selesai memulihkan regs pop bc ret; dan kembali; msg db 'Uji LED Pengguna, sebarang kekunci untuk keluar' db 0ah, 0dh, 0 bye db 'Exit' db 0ah, 0dh, 0 estack dw 0 ds 256 - 2 stack: dw 0
Simpan fail menggunakan ESC x. Lihat panduan penggunaan ZDE16 untuk maklumat lebih lanjut, agak seperti bintang kata untuk kebanyakan penyuntingan, kecuali pilihan Ctrl-K berbeza.
Langkah 3: Susun dan Jalankan Program
Sebaik sahaja anda mempunyai kod sumber anda di mesin.
Jenis:
F>
F> a: z80asm myled / a Z80ASM Hak Cipta (C) 1983-86 oleh SLR Systems Rel. 1.32 MYLED / Akhir fail Lulus 1 0 Ralat Dikesan. 406 Byte Mutlak. 16 Simbol Dikesan.
Ini akan mencari fail myled.z80 dan menghasilkan fail binari (.com), itulah pilihan / singkatan.
Lihat fail z80asm.doc untuk maklumat lebih lanjut.
Untuk menjalankan program, ketik:
F> myled
Uji LED pengguna, sebarang kunci untuk keluar dari Exit F>
Tekan sama ada butang pengguna atau kekunci di terminal untuk keluar.
Selesai.
Disyorkan:
Sistem Keselamatan Elektronik Dengan RTC dan Kod Pin Tentukan Pengguna: 7 Langkah
Sistem Keselamatan Elektronik Dengan RTC dan Kod Pin Tentukan Pengguna: Hai Guys! Ini adalah projek yang saya buat menggunakan mikrokontroler pic, Sistem Keselamatan Kod PIN Elektronik dengan jam masa nyata dan pengguna menentukan ciri kod pin, halaman ini mengandungi semua butiran untuk membuatnya sendiri. ITS BEKERJA DAN KONSEP: Baiklah
Penguji Bateri Arduino Dengan Antara Muka Pengguna WEB .: 5 Langkah
Penguji Bateri Arduino Dengan Antara Muka Pengguna WEB: Hari ini, peralatan elektronik menggunakan bateri sandaran untuk menyelamatkan keadaan di mana operasi ditinggalkan semasa peralatan dimatikan atau ketika, secara tidak sengaja, peralatan dimatikan. Pengguna, ketika menghidupkan, kembali ke titik di mana dia tinggal
Penganalisis Logik Dengan Muka Pengguna Android: 7 Langkah
Penganalisis Logik Dengan Muka Pengguna Android: Dunia sudah dibanjiri dengan begitu banyak penganalisis logik. Dalam hobi elektronik, saya memerlukannya untuk menyelesaikan masalah dan menyahpepijat. Saya mencari di internet tetapi saya tidak dapat mencari yang saya cari. Oleh itu, saya memperkenalkan … " YET Another Lo
Cermin Pintar Pelbagai Pengguna Dengan Kalendar Google: 10 Langkah
Cermin Pintar Berbilang Pengguna Dengan Kalendar Google: Dalam arahan ini, kami akan membuat cermin pintar yang disatukan dengan Kalendar Google. Saya membuat projek ini kerana saya dapati cermin pintar sangat keren, ia adalah anugerah pada waktu pagi. Tetapi saya memutuskan untuk menjadikannya sendiri dari sifar kerana yang lain
Inggeris / Portugis: S4A Como Instalar E Usar / S4A Cara Memasang dan Pengguna: 7 Langkah
Inggeris / Portugis: S4A Como Instalar E Usar / S4A Cara Memasang dan Pengguna: O S4A (ou Scratch for Arduino) é um sistema que baseado no Scratch que permite interagir diretamente com um Arduino. É uma forma muito melakukan á tica de ensinar programa ç ã o e verificar em tempo real a intera ç & atild