תוכן עניינים:

קוד LED פלאש Z80-mbc2 Z80: 3 שלבים
קוד LED פלאש Z80-mbc2 Z80: 3 שלבים

וִידֵאוֹ: קוד LED פלאש Z80-mbc2 Z80: 3 שלבים

וִידֵאוֹ: קוד LED פלאש Z80-mbc2 Z80: 3 שלבים
וִידֵאוֹ: Мощный LED прожектор на 100 Ватт - белый и цветной свет, с zigbee и защитой IP 66 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 שלי, עבור 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 כדי לערוך קובץ ריק:

a: zde16 myled.z80

פעולה זו תיצור קובץ בשם myled.z80 בדיסק F:, הערה:.z80 נדרש בשם כדי z80asm יפעל.

כעת העתק והדבק את הקוד להלן, בהתאם למהירות הטרמינל שלך וכו 'ייתכן שיהיה עליך להעתיק ולהדביק בחלקים קטנים. או הקלד אותו! לקבל את התחושה ההיא של שנות השמונים גם כן.

;

; בדוק את נורית המשתמש ומפתח המשתמש; BDOS שווה 05h; נקודת כניסה cp/m BDOS USRLED equ 0; קוד קוד לבקרת LED LED USRKEY equ 80h; אופוד לבקרת מתג משתמש DPORT equ 0; יציאת DATA i/o CPORT שווה 1; פלט יציאת פקודה; org 0100h; ld (estack), sp; שמור מידע קיים לצורך החזרה ל- cp/m ld sp, stack; ld hl, msg; שלום שיחת הודעות _ תשומות lp: ld a, 1; הפעלה = עיכוב שיחה אחת לדור; עיכוב והמתנה למפתחות jr nz, סיום; non zero פירושו מקש/מתג לחוץ xor a; a = 0 עיכוב שיחות LED; עיכוב או המתן למפתח/מתג jr z, lp; אם אפס, אין מקש/מתג, לך שוב; סיום: xor a; נלחץ על מקש או מתג, כך שנעשתה שיחה led ld hl, ביי; נגיד ביי להתקשר _קלטות; הצג הודעת הודעה HL = ld sp, (estack); מחסנית המקורית ret; חזרה ל- cp/m; led: push af; שמור ערך led 0 או 1 ld a, USRLED out (CPORT), a; optcode sent pop out (DPORT), a; data sent ret;; עיכוב לולאה שמפתח הסימון נלחץ על הטרמינל או עיכוב מפתח המשתמש: ld bc, 00e00h; כ 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; בדוק אם מקש נלחץ במסוף ret nz; yes return (גם שומר על דגל nz מוגדר) ld a, USRKEY; כעת בדוק את מפתח המשתמש החוצה (CPORT), a; יציאת הפקודה ב-, (DPORT); מקש קריאה ו- a, 1; מעוניין רק בסיביות 0 ret nz; חזור אם מקש המשתמש לחץ על ld a, b; או הוא bc = 0 או c jr nz, לולאה 2; לא סיים את הספירה, לך שוב xor a; הגדר את דגל z ל -0 ret; אין להחזיר שום מקש, סוף העיכוב; _puts: push bc; שמור את הרשומות שלנו מוכנות לשיחות 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 'בדיקת LED משתמש, כל מפתח ליציאה' db 0ah, 0dh, 0 bye db 'יציאה' 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 סוף קובץ מעבר 1 0 שגיאות זוהו. 406 בייטים מוחלטים. זוהו 16 סמלים.

זה יחפש את הקובץ myled.z80 ויפיק קובץ בינארי (.com), זה מה שהאפשרות /a מייצגת.

עיין בקובץ z80asm.doc למידע נוסף.

כדי להפעיל את התוכנית, הקלד:

F> מילד

בדיקת LED למשתמש, כל מפתח ליציאה מיציאה F>

לחץ על כפתור המשתמש או על מקש במסוף כדי לצאת.

בוצע.

מוּמלָץ: