Съдържание:
- Консумативи
- Стъпка 1: Инсталирайте Z80asm на вашия Z80-mbc2
- Стъпка 2: Копирайте изходния код за вас Z80-mbc2
- Стъпка 3: Компилирайте и стартирайте програмата
Видео: Z80-mbc2 Z80 Код на флаш потребител LED: 3 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Това е примерна потребителска LED програма, написана в асемблер Z80 за компютъра z80-mbc2.
Направих това тест и ревизия за мен, това е първата ми програма Z80 за повече от 35 години.
Наслади се
Консумативи
Компютър Z80-mbc2
Копие на Z80ASM от SLR Systems Rel. 1.32, може да се изтегли от много cp/m архиви
Редактор, използвах ZDE16, тъй като той вече беше на зареждащия образ на CP/M за z80-mbc2
Стъпка 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: ще копира документацията на диска (по избор)
Когато стартирате cp/m 2.2 на вашия z80-mbc, сега трябва да имате z80asm.com и z80asm.doc (по избор) на устройство A
Стъпка 2: Копирайте изходния код за вас Z80-mbc2
Свържете се към z80-mbc с помощта на вашата терминална програма
Предлагам ви да използвате ненаселен диск, за да запазите изходния код, например f: за да изберете този тип устройство:
F:
след няколко секунди ще видите подканата F:
сега използвайте програмата zde16 на устройство А, за да редактирате празен файл:
a: zde16 myled.z80
Това ще създаде файл, наречен myled.z80 на диска F:, забележете:.z80 е необходим в името, за да работи z80asm.
Сега копирайте и поставете кода по -долу, в зависимост от скоростта на терминала и т.н., може да се наложи да копирате и поставите на малки секции. Или го въведете! върнете се и онези 1980 -те.
;
; Тествайте потребителския светодиод и потребителския ключ; BDOS equ 05h; cp/m BDOS входна точка USRLED equ 0; код за опция за потребителски LED контрол USRKEY equ 80h; opcode за управление на потребителски превключвател DPORT равно 0; DATA порт i/o CPORT равно 1; Изход на командния порт; org 0100h; ld (estack), sp; запазете съществуващата информация за връщане към cp/m ld 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; LED: push af; запазване на LED стойност 0 или 1 ld a, USRLED out (CPORT), a; optcode изпратено pop af (DPORT), a; изпратени данни ret;; Цикъл на закъснение, който натиска контролен клавиш на терминал или закъснение на потребителския ключ: ld bc, 00e00h; приблизително 1/2s 8mhz процесор, чиста работа цикъл на предположение 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; Сега проверете потребителския ключ (CPORT), a; командния порт в a, (DPORT); ключ за четене и a, 1; интересува се само от бит 0 ret nz; връщане, ако потребителският ключ е натиснат ld a, b; или е bc = 0 или c jr nz, loop2; броенето не е завършено, отидете отново xor a; задайте флага z на 0 ret; връщане без натиснат клавиш, край на закъснението; _puts: push bc; запазете нашите регистри, готови за bdos повиквания push de nxt: ld a, (hl); get char or a; тест дали е 0, края на msg jr z, готово; да така е направено ld e, a; настройте повикване към BDOS, за да отпечатате char ld c, 2 push hl; запишете повикване с текстов указател BDOS; отпечатайте го pop hl inc hl; следващ char jr nxt; продължете напред: pop de; завършено възстановяване на regs; msg db 'User LED test, any key to exit' db 0ah, 0dh, 0 bye db 'Exit' db 0ah, 0dh, 0 estack dw 0 ds 256 - 2 стека: dw 0
Запазете файла с помощта на ESC x. Вижте ръководството за използване на ZDE16 за повече информация, това е малко като wordstar за повечето редакции, с изключение на това, че опциите Ctrl-K са различни.
Стъпка 3: Компилирайте и стартирайте програмата
След като имате изходния код на машината.
Тип:
F>
F> a: z80asm myled/a Z80ASM Авторско право (C) 1983-86 от SLR Systems Rel. 1.32 MYLED/A Край на файла Pass 1 0 Открити грешки (и). 406 абсолютни байта. 16 открити символа.
Това ще търси файла myled.z80 и ще произведе двоичен (.com) файл, това означава опцията /a.
Вижте файла z80asm.doc за повече информация.
За да стартирате програмата, въведете:
F> мила
LED потребителски тест, всеки клавиш за излизане от изход F>
Натиснете или потребителския бутон, или клавиш на терминала, за да излезете.
Свършен.
Препоръчано:
ПОРТАБИЛНО МИНИ МНОГОНАПРЕЖЕНО БЛАГАНЕ С USB, ФЛАШ, КОМПОНЕНТЕН ТЕСТЕР И ВГРАДЕНО ЗАРЯДНО: 6 стъпки
ПОРТАБИЛНО МИНИ МНОГОНАПРОМЕНЕН БЛОК С USB, ФЛАШ, КОМПОНЕНТЕН ТЕСТЕР И ВГРАДЕН ЗАРЯД: Добре дошли в първия ми инструктаж! С тази инструкция можете да трансформирате измамена/евтина слънчева батерия (с някои допълнителни части) в нещо полезно. Нещо, което можете да използвате всеки ден, като мен, защото е наистина страхотно за използване! Повечето от
Функционално USB флаш устройство Rubiks Cube: 7 стъпки (със снимки)
Функционално USB флаш устройство Rubiks Cube: В този урок ще ви покажа как да направите свой собствен Rubik USB флаш устройство Можете да видите готовия продукт в следния видеоклип:
Английски / португалски: S4A Como Instalar E Usar / S4A Как да инсталирате и потребител: 7 стъпки
Английски / португалски: S4A Como Instalar E Usar / S4A Как да инсталирам и потребител: O S4A (ou Scratch за Arduino) é um система que baseado no Scratch que permite interagir diretamente com um Arduino. É uma forma muito did á tica de ensinar program ç ã o e verificar em tempo real a intera ç & atild
Конфигурация на предпазителите на микроконтролера AVR. Създаване и качване във флаш паметта на микроконтролера LED мигащата програма .: 5 стъпки
Конфигурация на предпазителите на микроконтролера AVR. Създаване и качване във флаш паметта на микроконтролера LED мигаща програма. В този случай ще създадем проста програма в C код и ще я запишем в паметта на микроконтролера. Ще напишем собствена програма и ще компилираме шестнадесетичния файл, използвайки Atmel Studio като интегрирана платформа за разработка. Ще конфигурираме предпазител bi
Как да хакнете родителския контрол на Vista като стандартен потребител .: 6 стъпки
Как да хакнете родителския контрол на Vista като стандартен потребител: това е описание за това как да хакнете родителския контрол на windows vista като не администратор. ако сте администратор, можете да контролирате родителския контрол, така че наистина няма нужда от това