সুচিপত্র:

Z80-mbc2 Z80 কোড ফ্ল্যাশ ব্যবহারকারী LED: 3 টি ধাপ
Z80-mbc2 Z80 কোড ফ্ল্যাশ ব্যবহারকারী LED: 3 টি ধাপ

ভিডিও: Z80-mbc2 Z80 কোড ফ্ল্যাশ ব্যবহারকারী LED: 3 টি ধাপ

ভিডিও: Z80-mbc2 Z80 কোড ফ্ল্যাশ ব্যবহারকারী LED: 3 টি ধাপ
ভিডিও: Scrap CNC Machines / Can They Be Saved ? 2024, জুলাই
Anonim
Z80-mbc2 Z80 কোড ফ্ল্যাশ ইউজার LED
Z80-mbc2 Z80 কোড ফ্ল্যাশ ইউজার LED

এটি z80-mbc2 কম্পিউটারের জন্য Z80 অ্যাসেম্বলারে লেখা একটি ব্যবহারকারী LED প্রোগ্রাম।

আমি এটি আমার জন্য একটি পরীক্ষা এবং সংশোধন ব্যায়াম করেছি, এটি 35 বছরেরও বেশি সময় ধরে আমার প্রথম Z80 প্রোগ্রাম।

উপভোগ করুন

সরবরাহ

Z80-mbc2 কম্পিউটার

এসএলআর সিস্টেম রিল থেকে Z80ASM এর একটি অনুলিপি। 1.32, অনেক cp/m সংরক্ষণাগার থেকে ডাউনলোডযোগ্য

একজন সম্পাদক, আমি ZDE16 ব্যবহার করেছি, যেহেতু এটি ইতিমধ্যে z80-mbc2 এর জন্য CP/M বুট ইমেজে ছিল

ধাপ 1: আপনার Z80-mbc2 এ Z80asm ইনস্টল করুন

আপনার Z80-mbc2 এ Z80asm ইনস্টল করুন
আপনার Z80-mbc2 এ Z80asm ইনস্টল করুন

আমি আপনার Z80-MBC2 এর জন্য আপনার কাছে থাকা সরঞ্জামগুলির সাথে কিছু পরিচিতি অনুমান করি, যথা আপনি cpmtools এর যেকোন সংস্করণ ব্যবহার করেন। কমান্ড লাইন সংস্করণগুলি ব্যবহার করলে এখানে পদক্ষেপগুলি রয়েছে:

  1. Z80asm.com এবং z80asm.doc (alচ্ছিক) ফাইলগুলি আপনার হোস্ট পিসিতে কিছু জায়গায় একটি ডিরেক্টরিতে পান
  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: ডিস্কের ডকুমেন্টেশন কপি করবে (alচ্ছিক)

যখন আপনি আপনার z80-mbc এ cp/m 2.2 বুট করবেন, তখন আপনার ড্রাইভ A তে z80asm.com এবং z80asm.doc (alচ্ছিক) থাকা উচিত

পদক্ষেপ 2: আপনার কাছে সোর্স কোডটি অনুলিপি করুন Z80-mbc2

আপনার টার্মিনাল প্রোগ্রাম ব্যবহার করে z80-mbc এর সাথে সংযোগ করুন

আমি পরামর্শ দিচ্ছি যে আপনি সোর্স কোড সংরক্ষণ করতে একটি জনবহুল ডিস্ক ব্যবহার করুন, উদাহরণস্বরূপ f: এই ড্রাইভের ধরনটি চয়ন করতে:

চ:

কয়েক সেকেন্ড পরে আপনি F: প্রম্পট দেখতে পাবেন।

এখন একটি ফাঁকা ফাইল সম্পাদনা করতে ড্রাইভ এ zde16 প্রোগ্রামটি ব্যবহার করুন:

একটি: zde16 myled.z80

এটি F: ডিস্কে myled.z80 নামে একটি ফাইল তৈরি করবে, মনে রাখবেন: z80asm কাজ করার জন্য.z80 নামে প্রয়োজন।

এখন নীচের কোডটি অনুলিপি করুন এবং আটকান, আপনার টার্মিনাল গতি ইত্যাদির উপর নির্ভর করে আপনাকে ছোট অংশে কপি এবং পেস্ট করতে হতে পারে। অথবা এটি টাইপ করুন! সেই 1980 এর অনুভূতিও ফিরে পান।

;

ব্যবহারকারী LED এবং ব্যবহারকারী কী পরীক্ষা করুন; BDOS equ 05h; cp/m BDOS এন্ট্রি পয়েন্ট USRLED equ 0; ব্যবহারকারী LED কন্ট্রোল USRKEY সমান 80h জন্য opcode; ব্যবহারকারী সুইচ নিয়ন্ত্রণ DPORT সমীকরণ 0 জন্য opcode; org 0100h; ld (estack), sp; cp/m ld sp, stack এ ফিরে আসার জন্য বিদ্যমান তথ্য রাখুন; ld hl, msg; হ্যালো মেসেজ কল _পুটস lp: ld a, 1; চালু = 1 কল নেতৃত্বাধীন কল বিলম্ব; বিলম্ব এবং কী (গুলি) জন্য অপেক্ষা করুন jr nz, শেষ; অ শূন্য মানে কী/সুইচ চেপে xor a; a = 0 কল নেতৃত্বাধীন কল বিলম্ব; বিলম্ব বা কী/সুইচ jr z, lp জন্য অপেক্ষা করুন; শেষ: xor a; কী বা সুইচ টিপানো হয়েছিল, তাই সম্পন্ন কল LED ld hl, bye; বিদায় কল _পুটস; ডিসপ্লে মেসেজ HL = ld sp, (estack); মূল স্ট্যাক ret; cp/m এ ফিরে আসুন; LED: push af; LED মান 0 বা 1 ld a সংরক্ষণ করুন, USRLED আউট (CPORT), a; optcode পাঠানো পপ এফ আউট (DPORT), a; data sent ret;; বিলম্ব লুপ যা টার্মিনাল বা ব্যবহারকারী কী বিলম্বের উপর চাপা চেক চেক করে: ld bc, 00e00h; aprox 1/2s 8mhz CPU, বিশুদ্ধ অনুমান কাজ loop2: dec bc; 6; BDOS কাঁচা i/o চাবি কিনা চেক ld e, 0ffh কল BDOS pop de; স্ট্যাক পপ bc বা a থেকে আমাদের মানগুলি ফিরে পান; টার্মিনাল ret nz এ কী চাপলে কিনা তা পরীক্ষা করুন; হ্যাঁ রিটার্ন (nz পতাকা সেট রাখে) ld a, USRKEY; এখন ইউজার কী আউট (CPORT), a; a, (DPORT) কমান্ড পোর্ট চেক করুন; কী এবং a, 1 পড়ুন; শুধুমাত্র বিট 0 ret nz তে আগ্রহী; ইউজারকি ld a, b; bc = 0 বা c jr nz, loop2; গণনা শেষ হয়নি, আবার xor a তে যান; z পতাকা 0 ret তে সেট করুন; কোন কী চাপলে না, বিলম্বের শেষ ফিরে; _puts: push bc; bdos কলের জন্য আমাদের রেগ প্রস্তুত করুন push de nxt: ld a, (hl); char বা a পান; পরীক্ষা যদি এটি 0 হয়, msg jr z এর শেষ, সম্পন্ন; হ্যাঁ তাই করা হয়েছে ld e, a; একটি চার ld c, 2 push hl প্রিন্ট করার জন্য BDOS- এ কল সেট আপ করুন; টেক্সট পয়েন্টার কল BDOS সংরক্ষণ করুন; এটি পপ করুন hl inc hl; পরবর্তী char jr nxt; কাজ চালিয়ে যান: পপ ডি; সমাপ্ত পুনরুদ্ধার 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 ব্যবহার গাইড দেখুন, এটি বেশিরভাগ সম্পাদনার জন্য ওয়ার্ডস্টারের মতো, Ctrl-K বিকল্পগুলি ভিন্ন।

ধাপ 3: কম্পাইল করুন এবং প্রোগ্রামটি চালান

একবার মেশিনে আপনার সোর্স কোড আছে।

প্রকার:

F>

F> a: z80asm myled/a Z80ASM কপিরাইট (C) 1983-86 by SLR Systems Rel। 1.32 MYLED/A ফাইলের শেষ পাস 1 0 ত্রুটি সনাক্ত করা হয়েছে। 406 পরম বাইট। 16 টি প্রতীক সনাক্ত করা হয়েছে।

এটি myled.z80 ফাইলটি সন্ধান করবে এবং একটি বাইনারি (.com) ফাইল উত্পাদন করবে, যা বিকল্প /একটি এর জন্য দাঁড়িয়েছে।

আরও তথ্যের জন্য z80asm.doc ফাইলটি দেখুন।

প্রোগ্রামটি চালানোর জন্য, টাইপ করুন:

F> myled

ব্যবহারকারীর LED পরীক্ষা, প্রস্থান F থেকে বেরিয়ে আসার যেকোন কী

প্রস্থান করার জন্য ব্যবহারকারী বোতাম বা টার্মিনালে একটি কী টিপুন।

সম্পন্ন.

প্রস্তাবিত: