विषयसूची:

Z80-mbc2 Z80 कोड फ्लैश उपयोगकर्ता एलईडी: 3 कदम
Z80-mbc2 Z80 कोड फ्लैश उपयोगकर्ता एलईडी: 3 कदम

वीडियो: Z80-mbc2 Z80 कोड फ्लैश उपयोगकर्ता एलईडी: 3 कदम

वीडियो: Z80-mbc2 Z80 कोड फ्लैश उपयोगकर्ता एलईडी: 3 कदम
वीडियो: Z80-MBC3 kit to be assembled. A brief overview and getting started hints. 2024, नवंबर
Anonim
Z80-mbc2 Z80 कोड फ्लैश उपयोगकर्ता एलईडी
Z80-mbc2 Z80 कोड फ्लैश उपयोगकर्ता एलईडी

यह एक उदाहरण उपयोगकर्ता एलईडी प्रोग्राम है जिसे z80-mbc2 कंप्यूटर के लिए Z80 असेंबलर में लिखा गया है।

मैंने यह मेरे लिए एक परीक्षण और संशोधन अभ्यास किया, यह 35 से अधिक वर्षों के लिए मेरा पहला Z80 कार्यक्रम है।

आनंद लेना

आपूर्ति

Z80-mbc2 कंप्यूटर

SLR Systems Rel से Z80ASM की एक प्रति। १.३२, कई सीपी/एम अभिलेखागार से डाउनलोड करने योग्य

एक संपादक, मैंने ZDE16 का उपयोग किया, क्योंकि यह पहले से ही z80-mbc2 के लिए CP/M बूट छवि पर था

चरण 1: अपने Z80-mbc2. पर Z80asm स्थापित करें

अपने Z80-mbc2. पर Z80asm स्थापित करें
अपने Z80-mbc2. पर Z80asm स्थापित करें

मैं आपके Z80-MBC2 के लिए आपके पास मौजूद टूल से कुछ परिचित हूं, अर्थात् आपके द्वारा उपयोग किए जाने वाले cpmtools का कोई भी संस्करण। यदि कमांड लाइन संस्करणों का उपयोग कर रहे हैं तो यहां चरण दिए गए हैं:

  1. अपने होस्ट पीसी पर किसी निर्देशिका में z80asm.com और z80asm.doc (वैकल्पिक) फ़ाइलें प्राप्त करें
  2. अपने एसडी कार्ड को उसी पीसी में रखें, मुझे लगता है कि यह ड्राइव ई के रूप में दिख रहा है: नीचे।
  3. मैं अपने सीपी/एम डिस्क ए पर असेंबलर डालता हूं, सीपी/एम 2.2 के लिए जो डिस्क छवि DS0N00. DSK होगा
  4. कमांड: cpmcp -f z80mbc2-d0 e:DS0N00. DSK z80asm.com 0: फाइल z80asm.com को इमेज में कॉपी करेगा
  5. आदेश 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: प्रॉम्प्ट दिखाई देगा।

अब खाली फ़ाइल को संपादित करने के लिए ड्राइव A पर zde16 प्रोग्राम का उपयोग करें:

a:zde16 myled.z80

यह डिस्क F: पर myled.z80 नामक एक फ़ाइल बनाएगा, नोट: z80asm के काम करने के लिए नाम में.z80 की आवश्यकता है।

अब नीचे दिए गए कोड को कॉपी और पेस्ट करें, आपकी टर्मिनल स्पीड आदि के आधार पर आपको छोटे सेक्शन में कॉपी और पेस्ट करना पड़ सकता है। या इसे टाइप करें! 1980 के उस अहसास को भी वापस पाएं।

;

उपयोगकर्ता एलईडी और उपयोगकर्ता कुंजी का परीक्षण करें; BDOS equ 05h; cp/m BDOS एंट्री पॉइंट USRLED equ 0; यूजर एलईडी कंट्रोल के लिए opcode USRKEY equ 80h; यूजर स्विच कंट्रोल के लिए opcode DPORT equ 0; डेटा पोर्ट i/o CPORT equ १; कमांड पोर्ट आउटपुट; संगठन 0100h; एलडी (एस्टैक), एसपी; सीपी/एम एलडी एसपी, स्टैक पर लौटने के लिए मौजूदा जानकारी रखें; एलडी एचएल, संदेश; हैलो संदेश कॉल _पुट्स एलपी: एलडी ए, 1; चालू = 1 कॉल एलईडी कॉल देरी; देरी और कुंजी (ओं) के लिए प्रतीक्षा करें जूनियर एनजेड, समाप्त; शून्य शून्य का मतलब कुंजी/स्विच दबाया गया xor a;a= 0 कॉल एलईडी कॉल देरी; देरी या कुंजी / स्विच जूनियर जेड, एलपी के लिए प्रतीक्षा करें; यदि शून्य, कोई कुंजी / स्विच नहीं है, तो फिर से जाएं; समाप्त करें: xor a;कुंजी या स्विच दबाया गया था, इसलिए किया गया कॉल एलईडी एलडी एचएल, अलविदा; अलविदा कॉल _पुट्स कहें; संदेश एचएल = एलडी एसपी, (एस्टैक) प्रदर्शित करें; मूल स्टैक रिट; सीपी/एम पर लौटें; एलईडी: पुश AF; सेव एलईडी वैल्यू 0 या 1 ld a, USRLED आउट (CPORT), a; ऑप्टकोड सेंड पॉप ऑफ आउट (DPORT), a; डेटा भेजा गया रिट;; विलंब लूप जो टर्मिनल या उपयोगकर्ता कुंजी विलंब पर दबाए गए कुंजी की जांच करता है: एलडी बीसी, 00e00h; लगभग 1/2s 8mhz CPU, शुद्ध अनुमान कार्य लूप 2: डीसी बीसी; लूप पुश बीसी की गणना करें; बीडीओएस पुश डी एलडी सी को कॉल करते समय रेग सहेजें, 6; BDOS रॉ i/o चेक करें कि क्या कुंजी दबाया गया ld e, 0ffh कॉल BDOS पॉप डी; स्टैक पॉप बीसी से हमारे मान वापस प्राप्त करें या a; जांचें कि क्या टर्मिनल रिट एनजेड पर कुंजी दबाया गया है; हां रिटर्न (एनजेड फ्लैग सेट भी रखता है) एलडी a, USRKEY; अब उपयोगकर्ता कुंजी आउट (CPORT), a; कमांड पोर्ट इन a, (DPORT) की जांच करें; कुंजी और a, 1 पढ़ें; केवल बिट 0 ret nz में रुचि रखते हैं; यदि उपयोगकर्ता कुंजी ld a, b दबाती है तो वापस आती है; या है बीसी = 0 या सी जूनियर एनजेड, लूप 2; गिनती समाप्त नहीं हुई है, फिर से xor a पर जाएं; z ध्वज को 0 रिट पर सेट करें; कोई कुंजी दबाया नहीं, देरी का अंत; _puts: पुश बीसी; bdos कॉल के लिए तैयार हमारे regs को सेव करें पुश डी एनएक्सटी: एलडी ए, (एचएल); चार या ए प्राप्त करें; परीक्षण अगर यह 0 है, संदेश जेआर जेड का अंत, हो गया; हाँ ऐसा किया एलडी ई, ए; एक चार एलडी सी प्रिंट करने के लिए बीडीओएस को कॉल सेट करें, 2 पुश एचएल; टेक्स्ट पॉइंटर कॉल बीडीओएस सहेजें; इसे पॉप एचएल इंक एचएल प्रिंट करें; अगला चार जूनियर एनएक्सटी; जारी रखें: पॉप डी; समाप्त पुनर्स्थापना regs पॉप बीसी रिट; और वापसी; संदेश डीबी 'उपयोगकर्ता एलईडी परीक्षण, बाहर निकलने के लिए कोई भी कुंजी' डीबी 0ah, 0dh, 0 अलविदा डीबी 'बाहर निकलें' डीबी 0ah, 0dh, 0 estack dw 0 डीएस 256 - 2 स्टैक: dw 0

ESC x का उपयोग करके फ़ाइल को सहेजें। अधिक जानकारी के लिए ZDE16 उपयोग मार्गदर्शिका देखें, यह अधिकांश संपादन के लिए वर्डस्टार जैसा है, सिवाय इसके कि Ctrl-K विकल्प अलग हैं।

चरण 3: प्रोग्राम को संकलित और चलाएँ

एक बार जब आपके पास मशीन पर आपका स्रोत कोड हो।

प्रकार:

एफ>

F>a:z80asm myled/a Z80ASM कॉपीराइट (सी) 1983-86 एसएलआर सिस्टम्स रिले द्वारा। 1.32 MYLED/A फ़ाइल का अंत पास 1 0 त्रुटि (त्रुटियों) का पता चला। 406 निरपेक्ष बाइट्स। 16 प्रतीकों का पता चला।

यह फ़ाइल myled.z80 की तलाश करेगा और एक बाइनरी (.com) फ़ाइल तैयार करेगा, यही विकल्प /a का अर्थ है।

अधिक जानकारी के लिए z80asm.doc फ़ाइल देखें।

प्रोग्राम चलाने के लिए, टाइप करें:

एफ> माइल्ड

उपयोगकर्ता एलईडी परीक्षण, बाहर निकलने के लिए कोई भी कुंजी F>

बाहर निकलने के लिए या तो उपयोगकर्ता बटन या टर्मिनल पर एक कुंजी दबाएं।

किया हुआ।

सिफारिश की: