ዝርዝር ሁኔታ:

Z80-mbc2 Z80 ኮድ ፍላሽ ተጠቃሚ LED: 3 ደረጃዎች
Z80-mbc2 Z80 ኮድ ፍላሽ ተጠቃሚ LED: 3 ደረጃዎች

ቪዲዮ: Z80-mbc2 Z80 ኮድ ፍላሽ ተጠቃሚ LED: 3 ደረጃዎች

ቪዲዮ: Z80-mbc2 Z80 ኮድ ፍላሽ ተጠቃሚ LED: 3 ደረጃዎች
ቪዲዮ: Z80-MBC2: Z80 homebrew computer playing Startrek with CP/M 2024, ህዳር
Anonim
Z80-mbc2 Z80 ኮድ ፍላሽ ተጠቃሚ LED
Z80-mbc2 Z80 ኮድ ፍላሽ ተጠቃሚ LED

ይህ ለ z80-mbc2 ኮምፒተር በ Z80 አሰባሳቢ ውስጥ የተፃፈ ምሳሌ ተጠቃሚ የ LED ፕሮግራም ነው።

ይህንን ለእኔ የፈተና እና የክለሳ ልምምድ አደረግሁ ፣ ይህ ከ 35 ዓመታት በላይ የመጀመሪያዬ የ Z80 ፕሮግራም ነው።

ይደሰቱ

አቅርቦቶች

Z80-mbc2 ኮምፒተር

ከ SLR Systems Rel የ Z80ASM ቅጂ። 1.32 ፣ ከብዙ የ cp/m ማህደሮች ማውረድ

ለ z80-mbc2 በሲፒ/ኤም የማስነሻ ምስል ላይ ስለነበረ አርታኢ ፣ እኔ ZDE16 ን እጠቀም ነበር።

ደረጃ 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 ሠ: DS0N00. DSK z80asm.doc 0: ሰነዱን ወደ ዲስኩ ይገለብጣል (ከተፈለገ)

በእርስዎ z80-mbc ላይ ሲፒ/ሜ 2.2 ሲጭኑ ፣ አሁን ድራይቭ ኤ ላይ z80asm.com እና z80asm.doc (አማራጭ) ሊኖርዎት ይገባል።

ደረጃ 2: የምንጭ ኮዱን ለእርስዎ Z80-mbc2 ይቅዱ

የእርስዎን ተርሚናል ፕሮግራም በመጠቀም ከ z80-mbc ጋር ይገናኙ

የምንጭ ኮዱን ለማስቀመጥ ያልተወደደ ዲስክ እንዲጠቀሙ እመክርዎታለሁ ፣ ለምሳሌ ረ - ይህንን ድራይቭ ዓይነት ለመምረጥ ፦

ረ ፦

ከጥቂት ሰከንዶች በኋላ የ F: ጥያቄን ያያሉ።

ባዶ ፋይልን ለማርትዕ አሁን በ z A16 ላይ የ zde16 ፕሮግራምን ይጠቀሙ።

አንድ: zde16 myled.z80

ይህ በዲስኩ F:, ማስታወሻ ላይ: my80.z80 የተባለ ፋይል ይፈጥራል።

በእርስዎ ተርሚናል ፍጥነት ወዘተ ላይ በመመስረት አሁን ኮዱን ይቅዱ እና ይለጥፉ ፣ ወዘተ በትንሽ ክፍሎች መገልበጥ እና መለጠፍ አለብዎት። ወይም ይተይቡ! ያንን የ 1980 ዎቹ ስሜት እንዲመለስ ያድርጉ።

;

የተጠቃሚ ኤልኢዲ እና የተጠቃሚ ቁልፍን ይፈትሹ ፤ BDOS equ 05h; cp/m BDOS መግቢያ ነጥብ USRLED equ 0; opcode for 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; ወደ cp/m ld sp ፣ ቁልል ለመመለስ ነባር መረጃን ያቆዩ። ld hl, msg; ሰላም መልእክት ጥሪ _puts lp: ld a, 1; ማብራት = 1 ጥሪ የሚመራ የጥሪ መዘግየት ፣ መዘግየት እና ቁልፍ (ዎች) jr nz ን ይጠብቁ ፣ ይጨርሱ ፣ ዜሮ ያልሆነ ማለት ቁልፍ/መቀየሪያ ተጭኗል xor a; a = 0 የጥሪ መሪ ጥሪ ጥሪ መዘግየት ፣ ቁልፍ/ማብሪያ/ማጥፊያ jr z ፣ lp ፤ ዜሮ ከሆነ ፣ ቁልፍ/መቀየሪያ ከሌለ ፣ እንደገና ይሂዱ ፣ ጨርስ: xor ሀ ፤ ቁልፍ ወይም መቀየሪያ ተጭኖ ነበር ፣ ስለዚህ የተደረገው ጥሪ led ld hl ፣ bye; ደህና ሁን ጥሪ _puts ፤ msg HL = ld sp ፣ (estack) ፤ ኦርጅናል ቁልል ሬት ፤ ወደ cp/m ተመለስ ፤ led: push af; የመሪ ዋጋን 0 ወይም 1 ld a ፣ USRLED out (CPORT) ፣ a; optcode ላከ ፖፕ af (DPORT) ፣ ሀ ፤ ዳታ የተላከ; ፤ በተርሚናል ወይም በተጠቃሚ ቁልፍ መዘግየት ላይ የተጫነውን የቼክ ቁልፍ መዘግየት - ld bc ፣ 00e00h ፣ በግምት 1/2s 8mhz ሲፒዩ ፣ ንፁህ የመገመት ሥራ loop2: dec bc; የ loop push bc ን ይቆጥቡ ፣ BDOS push de ld c ሲደውሉ regs ን ያስቀምጡ ፣ 6; BDOS ጥሬ i/o ቁልፍ ከተጫነ ያረጋግጡ ፣ 0ffh ለ BDOS pop de ይደውሉ ፤ እሴቶቻችንን ከመደመር ፖፕ ቢሲ ወይም ሀ ይመልሱ ፤ በተርሚናል ret nz ላይ ቁልፍ ተጭኖ እንደሆነ ያረጋግጡ ፣ አዎ መመለስ (እንዲሁም የዚ ባንዲራ ስብስብን ያቆያል) ld ሀ ፣ USRKEY ፤ አሁን የተጠቃሚ ቁልፍን (CPORT) ፣ ሀ ፤ የትእዛዝ ወደብ በ ፣ (DPORT) ፤ ቁልፍ አንብብ እና ሀ ፣ 1 ፤ ቢት 0 ret nz ን ብቻ የሚፈልግ ፤ የተጠቃሚ ቁልፍ ld a, b ን ከተጫነ ይመለሱ ወይም bc = 0 ወይም c jr nz, loop2; ቆጠራውን አልጨረሰም ፣ እንደገና ሂድ xor ፤ የ z ባንዲራውን ወደ 0 ሬቲ ያቀናብር ፣ የተጫነ ቁልፍ የለም ፣ የዘገየ መጨረሻ ፤ _puts: push bc ፤ ለ bdos ጥሪዎች ዝግጁ ለመሆን የእኛን ገዥዎች አስቀምጡ push de nxt: ld a, (hl) ፤ ቻር ወይም ሀ ያግኙ ፤ 0 ከሆነ ይሞክሩ ፣ msg jr z ፣ ተከናውኗል ፤ አዎ እንዲሁ ተከናውኗል ld e, a; ቻር ld c ፣ 2 push hl ን ለማተም ለ BDOS ጥሪ ያዋቅሩ ፣ የጽሑፍ ጠቋሚ ጥሪን BDOS ያስቀምጡ ፣ ያትሙት በ hl inc hl ፣ ቀጣዩ ቻር jr nxt ፤ ይቀጥሉ - pop de; regs pop bc ret ን መልሶ ማጠናቀቅ ፤ እና መመለስ; msg db 'የተጠቃሚ LED ሙከራ ፣ ለመውጣት ማንኛውም ቁልፍ' db 0ah ፣ 0dh ፣ 0 bye db 'Exit' db 0ah ፣ 0dh ፣ 0 estack dw 0 ds 256 - 2 stack: dw 0

ESC x ን በመጠቀም ፋይሉን ያስቀምጡ። ለተጨማሪ መረጃ የ ZDE16 አጠቃቀም መመሪያን ይመልከቱ ፣ ከ Ctrl-K አማራጮች የተለያዩ ከሆኑ በስተቀር ለአብዛኛው አርትዖት ትንሽ እንደ የቃላት ኮከብ ነው።

ደረጃ 3 ፕሮግራሙን ያጠናቅሩ እና ያሂዱ

በማሽኑ ላይ የምንጭ ኮድዎን አንዴ ካገኙ።

ዓይነት

ረ>

ረ> ሀ: z80asm myled/a Z80ASM የቅጂ መብት (ሲ) 1983-86 በ SLR Systems Rel። 1.32 MYLED/የፋይል መጨረሻ ማለፊያ 1 0 ስህተት (ቶች) ተገኝቷል። 406 ፍፁም ባይቶች። 16 ምልክቶች ተገኝተዋል።

ይህ ፋይሉን myled.z80 ን ይፈልግ እና የሁለትዮሽ (.com) ፋይል ያመርታል ፣ ያ አማራጭ /ሀ የሚለው ነው።

ለበለጠ መረጃ የ z80asm.doc ፋይልን ይመልከቱ።

ፕሮግራሙን ለማስኬድ ፣ ይተይቡ

ረ> ማይሌድ

የተጠቃሚ LED ሙከራ ፣ መውጫ F> ለመውጣት ማንኛውም ቁልፍ

ለመውጣት የተጠቃሚውን ቁልፍ ወይም ተርሚናል ላይ ያለውን ቁልፍ ይጫኑ።

ተከናውኗል።

የሚመከር: