جدول المحتويات:

فلاش مستخدم Z80-mbc2 كود Z80: 3 خطوات
فلاش مستخدم Z80-mbc2 كود Z80: 3 خطوات

فيديو: فلاش مستخدم Z80-mbc2 كود Z80: 3 خطوات

فيديو: فلاش مستخدم Z80-mbc2 كود Z80: 3 خطوات
فيديو: فلاش لا استغني عنه في شراء اي جهاز مستخدم #pc #معالجات #usb #فلاش_سحري 2024, ديسمبر
Anonim
فلاش Z80-mbc2 كود فلاش Z80
فلاش Z80-mbc2 كود فلاش Z80

هذا مثال لبرنامج 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

قم بتثبيت Z80asm على Z80-mbc2
قم بتثبيت Z80asm على Z80-mbc2

أفترض بعض الإلمام بالأدوات التي لديك من أجل Z80-MBC2 ، أي أي إصدار من أدوات cpmtools التي تستخدمها. فيما يلي الخطوات في حالة استخدام إصدارات سطر الأوامر:

  1. احصل على الملفات z80asm.com و z80asm.doc (اختياري) في دليل في مكان ما على الكمبيوتر المضيف
  2. ضع بطاقة SD الخاصة بك في نفس جهاز الكمبيوتر ، أفترض أدناه أنها تظهر كمحرك الأقراص E: أدناه.
  3. أضع المُجمّع على قرص CP / M الخاص بي A ، من أجل cp / m 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: سينسخ الوثائق إلى القرص (اختياري)

عند تشغيل 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.

الآن انسخ والصق الكود أدناه ، اعتمادًا على السرعة الطرفية وما إلى ذلك ، قد تضطر إلى النسخ واللصق في أقسام صغيرة. أو اكتبه! استعد شعور الثمانينيات أيضًا.

;

؛ اختبار مؤشر LED للمستخدم ومفتاح المستخدم ؛ BDOS equ 05h ؛ نقطة دخول cp / m BDOS USRLED يساوي 0 ؛ كود التشغيل للتحكم في مؤشر LED للمستخدم USRKEY يساوي 80 ساعة ؛ كود التشغيل للتحكم في تبديل المستخدم DPORT يساوي 0 ؛ منفذ البيانات i / o CPORT يساوي 1 ؛ إخراج منفذ الأوامر ؛ org 0100h ؛ ld (estack) ، sp ؛ احتفظ بالمعلومات الموجودة للعودة إلى cp / m ld sp ، stack ؛ ld hl، msg؛ hello message call _puts lp: ld a، 1 ؛ تشغيل = 1 مكالمة led تأخير ؛ تأخير وانتظار المفتاح (المفاتيح) jr nz ، finish ؛ غير الصفر يعني الضغط على المفتاح / المفتاح x أو a ؛ a = 0 تأخير المكالمة بقيادة الولايات المتحدة ؛ تأخير أو انتظار المفتاح / التبديل jr z ، lp ؛ إذا كان صفرًا ، لا يوجد مفتاح / مفتاح ، فانتقل مرة أخرى ؛ finish: xor a ؛ تم الضغط على مفتاح أو مفتاح ، لذا تم إجراء المكالمة led ld hl ، وداعًا ؛ قل وداعًا call _puts ؛ عرض msg HL = ld sp ، (estack) ؛ إعادة المكدس الأصلي ؛ العودة إلى cp / m ؛ led: دفع af ؛ حفظ قيمة الصمام 0 أو 1 ld a ، USRLED out (CPORT) ، a ؛ إرسال رمز opt af out (DPORT) ، a ؛ إرسال البيانات ret ؛ ؛ حلقة التأخير التي تتحقق من ضغط المفتاح على الجهاز الطرفي أو تأخير مفتاح المستخدم: ld bc ، 00e00h ؛ وحدة المعالجة المركزية aprox 1 / 2s 8mhz ، حلقة عمل التخمين الخالص 2: dec bc ؛ حساب دفع الحلقة bc ؛ حفظ regs عند استدعاء BDOS push de ld c ، 6 ؛ BDOS raw i / o تحقق مما إذا كان المفتاح مضغوطًا ld e ، 0ffh استدعاء BDOS pop de ؛ احصل على قيمنا من المكدس pop bc أو a ؛ تحقق مما إذا كان المفتاح مضغوطًا على Terminal ret nz ؛ نعم العودة (يحافظ أيضًا على مجموعة علم nz) ld a ، USRKEY ؛ تحقق الآن من إخراج مفتاح المستخدم (CPORT) ، a ؛ منفذ الأمر في a ، (DPORT) ؛ قراءة المفتاح و a ، 1 ؛ مهتم فقط بالبت 0 ret nz ؛ العودة إذا ضغط مفتاح المستخدم على ld a ، b ؛ أو هو bc = 0 أو c jr nz، loop2 ؛ لم ينته العد ، انتقل مرة أخرى x أو a ؛ اضبط علامة z على 0 ret ؛ لا تُرجع أي مفتاح مضغوط ، نهاية التأخير ؛ _puts: push bc ؛ احفظ تسجيلاتنا جاهزة لاستدعاءات bdos push de nxt: ld a، (hl) ؛ احصل على char أو 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 pop bc ret ؛ والعودة ؛ msg db 'User LED test ، أي مفتاح للخروج' 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 (C) 1983-86 بواسطة SLR Systems Rel. 1.32 MYLED / A تم اكتشاف نهاية الملف 1 0 خطأ (أخطاء). 406 بايت مطلق. تم اكتشاف 16 رمزًا.

سيبحث هذا عن الملف myled.z80 وينتج ملفًا ثنائيًا (.com) ، وهذا ما يمثله الخيار / a.

راجع ملف z80asm.doc لمزيد من المعلومات.

لتشغيل البرنامج ، اكتب:

F> myled

اختبار LED للمستخدم ، أي مفتاح للخروج من خروج F>

اضغط على زر المستخدم أو أي مفتاح على الجهاز للخروج.

منتهي.

موصى به: