Obsah:
- Zásoby
- Krok 1: Nainstalujte Z80asm na svůj Z80-mbc2
- Krok 2: Zkopírujte si na sebe zdrojový kód Z80-mbc2
- Krok 3: Zkompilujte a spusťte program
Video: Z80-mbc2 Z80 Code Flash Uživatelská LED: 3 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
Toto je příklad uživatelského programu LED napsaného v assembleru Z80 pro počítač z80-mbc2.
Udělal jsem toto testovací a revizní cvičení pro mě, toto je můj první program Z80 více než 35 let.
Užívat si
Zásoby
Počítač Z80-mbc2
Kopie Z80ASM od SLR Systems Rel. 1.32, lze stáhnout z mnoha archivů cp/m
Jako editor jsem použil ZDE16, protože to už bylo na bootovacím obrázku CP/M pro z80-mbc2
Krok 1: Nainstalujte Z80asm na svůj Z80-mbc2
Předpokládám určitou obeznámenost s nástroji, které máte pro svůj Z80-MBC2, konkrétně jakoukoli verzi cpmtools, kterou používáte. Pokud používáte verze příkazového řádku, postupujte takto:
- Získejte soubory z80asm.com a z80asm.doc (volitelně) v adresáři na nějakém místě na hostitelském počítači
- Vložte kartu SD do stejného počítače, předpokládám níže, že se zobrazuje jako jednotka E: níže.
- Dal jsem assembler na můj CP/M disk A, pro cp/m 2,2, který by byl diskovým obrazem DS0N00. DSK
- Příkaz: cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.com 0: zkopíruje soubor z80asm.com do obrázku
- Příkaz cpmcp -f z80mbc2 -d0 e: DS0N00. DSK z80asm.doc 0: zkopíruje dokumentaci na disk (volitelně)
Když na svém z80-mbc spustíte cp/m 2.2, měli byste nyní na jednotce A mít z80asm.com a z80asm.doc (volitelně)
Krok 2: Zkopírujte si na sebe zdrojový kód Z80-mbc2
Připojte se k z80-mbc pomocí terminálového programu
Doporučuji použít neobydlený disk k uložení zdrojového kódu, například f: k výběru tohoto typu jednotky:
F:
po několika sekundách se zobrazí výzva F:.
nyní pomocí programu zde16 na jednotce A upravte prázdný soubor:
a: zde16 myled.z80
Tím na disku F:
Nyní zkopírujte a vložte níže uvedený kód, v závislosti na rychlosti vašeho terminálu atd. Budete možná muset zkopírovat a vložit do malých sekcí. Nebo to napište! vraťte se také do 80. let.
;
; Otestujte uživatelskou LED a uživatelský klíč; BDOS equ 05h; cp/m Vstupní bod BDOS USRLED equ 0; opcode pro User LED control USRKEY equ 80h; opcode for User Switch control DPORT equ 0; DATA port i/o CPORT equ 1; Command port output; org 0100h; ld (estack), sp; zachovat stávající informace pro návrat do cp/m ld sp, stack; ld hl, msg; Hello message call _puts lp: ld a, 1; turn = 1 call led delay call; delay and wait for key (s) jr nz, finish; non zero means key/switchPress xor a; a = 0 zpoždění hovoru vedeného LED; zpoždění nebo čekání na klíč/přepínač jr z, lp; pokud nula, žádný klíč/přepínač, jděte znovu; finish: xor a; key or switch wasPress, so done led led ld, bye; say bye call _puts; display msg HL = ld sp, (estack); original stack ret; return to cp/m; led: push af; uložit hodnotu LED 0 nebo 1 ld a, USRLED out (CPORT), a; optcode sent pop af out (DPORT), a; data sent ret;; Zpožděná smyčka, která kontroluje stisknutí klávesy na terminálu nebo zpoždění uživatelského klíče: ld bc, 00e00h; přibližně 1/2s 8mhz CPU, čistá hádací pracovní smyčka2: dec bc; počítání smyčky push bc; uložení pravidel při volání BDOS push de ld c, 6; BDOS raw i/o zkontrolujte, zda je stisknuto tlačítko ld e, 0ffh volání BDOS pop de; získejte naše hodnoty zpět ze zásobníku pop bc nebo a; zkontrolujte, zda je stisknuto tlačítko na terminálu ret nz; yes return (také udržuje nz příznak nastaven) ld a, USRKEY; Nyní zkontrolujte uživatelský klíč (CPORT), a; příkazový port v, (DPORT); přečtěte klíč a a, 1; zajímá vás pouze bit 0 ret nz; vrátit se, pokud stisknete uživatelské tlačítko ld a, b; nebo je bc = 0 nebo c jr nz, loop2; nedokončené počítání, jděte znovu x nebo a; nastavte příznak z na 0 ret; návrat není stisknut žádný klíč, konec zpoždění; _puts: push bc; uložte naše regs připravené pro volání bdos push de nxt: ld a, (hl); get char or a; test if it's 0, end of msg jr z, done; yes so done ld e, a; nastavit volání BDOS k vytištění znaku l c, 2 push hl; uložit volání ukazatele textu BDOS; vytisknout pop hl inc hl; další znak jr nxt; pokračovat v práci: pop de; dokončeno obnovení regs pop bc ret; a vrátit se; 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 stack: dw 0
Uložte soubor pomocí ESC x. Další informace najdete v uživatelské příručce ZDE16, pro většinu úprav je to trochu jako wordstar, kromě toho, že možnosti Ctrl-K jsou různé.
Krok 3: Zkompilujte a spusťte program
Jakmile budete mít na počítači svůj zdrojový kód.
Typ:
F>
F> a: z80asm myled/a Z80ASM Copyright (C) 1983-86 od SLR Systems Rel. 1,32 MYLED/A Konec souboru Pass 1 0 Zjištěny chyby. 406 absolutních bytů. Zjištěno 16 symbolů.
Tím se vyhledá soubor myled.z80 a vytvoří se binární (.com) soubor, což znamená možnost /a.
Další informace naleznete v souboru z80asm.doc.
Chcete -li spustit program, zadejte:
F> myled
Uživatelský test LED, libovolný klíč pro ukončení Ukončit F>
Ukončete stisknutím uživatelského tlačítka nebo klávesy na terminálu.
Hotovo.
Doporučuje:
Pixy2Bot Object Follower (Servo Code): 4 kroky
Objektový sledovatel Pixy2Bot (kód serva): Sestavení robota sledujícího jednoduchý objekt (bez mechanismu otáčení/naklánění) s motorovým štítem Arduino Uno +, dvěma levnými nepřetržitými servy a Pixy2. Video: https://youtu.be/lxBLt5DJ5BM
Jak vytvořit USB flash disk pomocí gumy - DIY USB Drive Case: 4 kroky
Jak vytvořit USB flash disk pomocí gumy | DIY USB Drive Case: Tento blog je o " Jak si vyrobit USB Flash Drive pomocí gumy | DIY USB Drive Case " Doufám, že se ti to bude líbit
Oboustranný USB flash disk: 3 kroky
Oboustranný USB flash disk: Už žádné špatné připojení USB! Můžete jej však zapojit na špatnou stranu jako kazetu. Ano, používám tento lifehack už několik let, ale nakonec mám odvahu to zaznamenat. Je to docela jednoduché, získáte jen dva kusy kreditu
Konfigurace pojistkových bitů mikrokontroléru AVR. Vytvoření a nahrání programu Flash LED do flash paměti mikrokontroléru: 5 kroků
Konfigurace pojistkových bitů mikrokontroléru AVR. Vytvoření a nahrání do flash paměti mikrokontroléru programu LED blikání: V tomto případě vytvoříme jednoduchý program v kódu C a vypálíme ho do paměti mikrokontroléru. Napíšeme vlastní program a zkompilováme hexadecimální soubor pomocí Atmel Studio jako integrované vývojové platformy. Konfigurujeme pojistku bi
Elecfreaks Motor: bit Uživatelská příručka: 6 kroků
Elecfreaks Motor: bit Uživatelská příručka: Úvod ELECFREKAS Motor: bit je druh desky pohonu motoru založený na micro: bit. Má integrovaný motorový čip TB6612, který může pohánět dva stejnosměrné motory s jednokanálovým proudem max. 1,2A. Motor: bit má integrované připojení senzoru řady Octopus