Სარჩევი:
- მარაგები
- ნაბიჯი 1: დააინსტალირეთ Z80asm თქვენს Z80-mbc2
- ნაბიჯი 2: დააკოპირეთ წყაროს კოდი თქვენთვის Z80-mbc2
- ნაბიჯი 3: შეადგინეთ და გაუშვით პროგრამა
ვიდეო: Z80-mbc2 Z80 კოდი Flash მომხმარებლის LED: 3 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:15
ეს არის მომხმარებლის 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 დისკზე, 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 ცარიელი ფაილის შესაცვლელად:
a: zde16 myled.z80
ეს შექმნის ფაილს სახელად myled.z80 დისკზე F:, შენიშვნა:.z80 საჭიროა სახელით z80asm მუშაობისთვის.
ახლა დააკოპირეთ და ჩასვით კოდი ქვემოთ, თქვენი ტერმინალის სიჩქარის მიხედვით და ა.შ. შეიძლება დაგჭირდეთ კოპირება და ჩასმა მცირე ნაწილებად. ან ჩაწერეთ! დააბრუნე 1980 -იანი წლების განცდაც.
;
; შეამოწმეთ მომხმარებლის LED და მომხმარებლის გასაღები; BDOS equ 05h; cp/m BDOS შესვლის წერტილი USRLED 0 org 0100 სთ; ld (estack), sp; შეინახეთ არსებული ინფორმაცია cp/m ld sp, stack- ზე დასაბრუნებლად; ld hl, msg; გამარჯობა შეტყობინების ზარი _ აყენებს lp: ld a, 1; ჩართეთ = 1 ზარის led ზარის შეფერხება; დააყოვნეთ და დაელოდეთ გასაღებს (ებ) ს jr nz, დასრულება; არა ნული ნიშნავს კლავიშს/გადამრთველს დაჭერით xor a; a = 0 ზარის ხელმძღვანელობით ზარის შეფერხება; გადადება ან დაელოდეთ გასაღებს/გადამრთველს jr z, lp; თუ ნულოვანია, გასაღები/გადამრთველი არ არის, ისევ წადით; დასრულება: xor a; გასაღები ან გადამრთველი იყო დაჭერილი, ასე გაკეთდა ზარი led ld hl, bye; say bye call _puts; ჩვენება msg HL = ld sp, (estack); ორიგინალური დასტის ret; დაბრუნება cp/m; led: ბიძგი af; შეინახეთ led მნიშვნელობა 0 ან 1 ld a, USRLED out (CPORT), a; optcode sent sent pop out out (DPORT), a; data გაგზავნილი ret;; გადაიდო მარყუჟი, რომელიც ამოწმებს ღილაკს ტერმინალზე ან მომხმარებლის გასაღების შეფერხებაზე: ld bc, 00e00h; დაახლოებით 1/2s 8mhz CPU, სუფთა გამოცნობა სამუშაო მარყუჟი 6; BDOS ნედლეული i/o შეამოწმეთ თუ გასაღები დაჭერილია ld e, 0ffh დარეკეთ BDOS pop de; მიიღეთ ჩვენი ღირებულებები უკან stack pop bc ან a; შეამოწმეთ თუ გასაღები დაჭერილია ტერმინალში ret nz; დიახ დაბრუნება (ასევე ინახავს nz დროშის კომპლექტს) ld a, USRKEY; ახლა შეამოწმეთ მომხმარებლის გასაღები (CPORT), a; ბრძანების პორტი a, (DPORT); წაკითხვის გასაღები და a, 1; დაინტერესებულია მხოლოდ bit 0 ret nz; დაბრუნება თუ userkey დააჭერს ld a, b; ან არის bc = 0 ან c jr nz, loop2; დათვლა არ დასრულებულა, კვლავ წადი xor a; დააყენე z დროშა 0 ret; არ დააბრუნო გასაღები დაჭერილი, შეფერხების დასასრული; _puts: push bc; შეინახეთ ჩვენი regs მზად bdos ზარებისთვის push de nxt: ld a, (hl); მიიღეთ char ან a; შეამოწმეთ თუ არის 0, ბოლოს jr z დასრულებულია; დიახ ასე გაკეთდა ld e, a; დააყენეთ ზარი BDOS- ზე char ld c, 2 push hl; შეინახეთ ტექსტის მაჩვენებელი დარეკეთ BDOS- ში; დაბეჭდეთ pop hl inc hl; შემდეგი char jr nxt; გააგრძელეთ: pop de; დასრულდა regs pop bc ret; და დაბრუნება; 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
შეინახეთ ფაილი ESC x– ის გამოყენებით. იხილეთ ZDE16 გამოყენების სახელმძღვანელო დამატებითი ინფორმაციისთვის, ეს არის ცოტათი wordstar რედაქტირებისთვის, გარდა Ctrl-K ვარიანტებისა.
ნაბიჯი 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> მილედირებული
მომხმარებლის LED ტესტი, ნებისმიერი გასაღები გასასვლელიდან F>
დააჭირეთ ან მომხმარებლის ღილაკს ან ტერმინალის გასაღებს გასასვლელად.
Შესრულებულია.
გირჩევთ:
ელექტრონული უსაფრთხოების სისტემა RTC– ით და მომხმარებლის განსაზღვრის პინ კოდი: 7 ნაბიჯი
ელექტრონული უსაფრთხოების სისტემა RTC– ით და მომხმარებლის განსაზღვრეთ პინ კოდი: გამარჯობა ბიჭებო! ეს არის პროექტი, რომელიც მე გავაკეთე pic მიკროკონტროლის გამოყენებით, მისი ელექტრონული PIN კოდის უსაფრთხოების სისტემა რეალურ დროში და მომხმარებლის მიერ განსაზღვრულია პინ კოდის მახასიათებლები, ეს გვერდი შეიცავს ყველა დეტალს, რომ თავად შექმნათ იგი. ეს არის სამუშაო და კონცეფცია: კარგად
Arduino ბატარეის შემმოწმებელი WEB მომხმარებლის ინტერფეისით .: 5 ნაბიჯი
Arduino ბატარეის შემმოწმებელი WEB მომხმარებლის ინტერფეისით. მომხმარებელი, ჩართვისას, უბრუნდება იმ ადგილს, სადაც დარჩა
ლოგიკური ანალიზატორი Android მომხმარებლის ინტერფეისით: 7 ნაბიჯი
ლოგიკური ანალიზატორი Android მომხმარებლის ინტერფეისით: სამყარო უკვე დატბორილია ამდენი ლოგიკური ანალიზატორებით. ჩემი ელექტრონიკის ჰობი, მე მჭირდებოდა ერთი პრობლემების მოსაგვარებლად და გამართვისთვის. ინტერნეტში ვეძებე მაგრამ ვერ ვიპოვე ის რასაც ვეძებ. აი, მე წარმოგიდგენთ … " კიდევ სხვა Lo
მრავალ მომხმარებლის ჭკვიანი სარკე Google კალენდრით: 10 ნაბიჯი
მრავალ მომხმარებლის ჭკვიანი სარკე Google Calendar- ით: ამ ინსტრუქციურად ჩვენ შევქმნით ჭკვიან სარკეს, რომელიც ინტეგრირებულია Google Calendar- თან. მე ეს პროექტი იმიტომ გავაკეთე, რომ მე ჭკვიანი სარკეები მართლაც მაგარი მიმაჩნია, ისინი დილით ღმერთის საჩუქარია. მაგრამ მე გადავწყვიტე, რომ მე თვითონ გამეკეთებინა ნულიდან, რადგან ყველა დანარჩენი
როგორ გავხადოთ Flash Drive, რომელიც კოპირებს მომხმარებლის ფაილებს ჩუმად და ავტომატურად: 7 ნაბიჯი
როგორ გავხადოთ Flash Drive, რომელიც აკოპირებს მომხმარებლების ფაილებს ჩუმად და ავტომატურად: ****** ეს ინსტრუქცია არის საინფორმაციო მიზნებისთვის მხოლოდ არალეგალურია ვიღაცის ფაილების კოპირება მათი ნებართვის გარეშე, მე ჯერჯერობით არავისთვის ინფორმაცია არასწორედ გამოიყენება **************** როგორ ავაშენოთ