ট্র্যাক
/
MIPS Assembly
MIPS Assembly
/
অনুশীলনী
/
রেজিস্টর কালার ট্রিও
রেজিস্টর কালার ট্রিও

রেজিস্টর কালার ট্রিও

মধ্যম

নির্দেশনা

আপনি যদি Raspberry Pi দিয়ে কিছু বানাতে চান, তাহলে সম্ভবত রেজিস্টর ব্যবহার করবেন। এই অনুশীলনীর জন্য এদের সম্পর্কে আপনাকে মাত্র তিনটি বিষয় জানতে হবে:

  • প্রতিটি রেজিস্টরের একটি রেজিস্ট্যান্স মান থাকে।

  • রেজিস্টর ছোট হয়, আসলে এতটাই ছোট যে সেগুলোর গায়ে রেজিস্ট্যান্স মানটি ছাপলে পড়া কঠিন হয়ে যেত। এই সমস্যা এড়াতে নির্মাতারা রেজিস্টরের গায়ে রঙ দিয়ে কোড করা ব্যান্ড ছাপেন, যাতে সেগুলোর রেজিস্ট্যান্স মান বোঝা যায়।

  • প্রতিটি ব্যান্ড একটি সংখ্যার একটি অঙ্ক হিসেবে কাজ করে। যেমন, তারা যদি একটি brown ব্যান্ড (মান 1) তারপর একটি green ব্যান্ড (মান 5) ছাপত, তাহলে সেটি 15 সংখ্যাটি বোঝাত। এই অনুশীলনীতে আপনি একটি সহায়ক প্রোগ্রাম তৈরি করবেন, যাতে ব্যান্ডগুলোর মান আপনাকে মনে রাখতে না হয়। প্রোগ্রামটি ইনপুট হিসেবে ৩টি রঙ নেবে এবং সঠিক মানটি ওহমে আউটপুট দেবে। রঙের ব্যান্ডগুলো এভাবে এনকোড করা হয়েছে:

  • black: 0

  • brown: 1

  • red: 2

  • orange: 3

  • yellow: 4

  • green: 5

  • blue: 6

  • violet: 7

  • grey: 8

  • white: 9

রেজিস্টর কালার ডুও-তে আপনি প্রথম দুটি রঙ ডিকোড করেছিলেন। যেমন: orange-orange-এর মূল মান হলো 33। তৃতীয় রঙটি বোঝায় মূল মানের সাথে কতটি শূন্য যোগ করতে হবে। মূল মানের সাথে শূন্যগুলো যোগ করলে ওহমে একটি মান পাওয়া যায়। এই অনুশীলনীর জন্য ওহম আসলে কী, তা গুরুত্বপূর্ণ নয়। যেমন:

  • orange-orange-black হলে হবে 33 এবং কোনো শূন্য নেই, যা 33 ohms হয়ে দাঁড়ায়।
  • orange-orange-red হলে হবে 33 এবং ২টি শূন্য, যা 3300 ohms হয়ে দাঁড়ায়।
  • orange-orange-orange হলে হবে 33 এবং ৩টি শূন্য, যা 33000 ohms হয়ে দাঁড়ায়।

(আপনার যদি গণিত পছন্দের বিষয় হয়, তাহলে শূন্যগুলোকে 10-এর সূচক হিসেবে ভাবতে পারেন। গণিত পছন্দ না হলে শূন্যগুলো নিয়েই এগিয়ে যান। আসলে বিষয়টা একই, শুধু গণিতের পরিভাষার বদলে সহজ ভাষায় বলা।)

এই অনুশীলনীটি রঙগুলোকে একটি লেবেলে রূপান্তর করার বিষয়ে:

"... ohms"

তাই "orange", "orange", "black" ইনপুট দিলে রিটার্ন করা উচিত:

"33 ohms"

বড় রেজিস্টরের ক্ষেত্রে ওহমের বড় মাত্রা বোঝাতে একটি মেট্রিক প্রিফিক্স ব্যবহার করা হয়, যেমন "kiloohms"। এটা অনেকটা "2000 মিটার"-এর বদলে "2 কিলোমিটার", বা "2000 গ্রাম"-এর জন্য "2 কিলোগ্রাম" বলার মতো।

যেমন, "orange", "orange", "orange" ইনপুট দিলে রিটার্ন করা উচিত:

"33 kiloohms"

রেজিস্টার

রেজিস্টার ব্যবহার টাইপ বিবরণ
$a0 ইনপুট অ্যাড্রেস নাল-টার্মিনেটেড স্ট্রিং হিসেবে প্রথম রং
$a1 ইনপুট অ্যাড্রেস নাল-টার্মিনেটেড স্ট্রিং হিসেবে দ্বিতীয় রং
$a2 ইনপুট অ্যাড্রেস নাল-টার্মিনেটেড স্ট্রিং হিসেবে তৃতীয় রং
$a3 ইনপুট/আউটপুট অ্যাড্রেস নাল-টার্মিনেটেড আউটপুট স্ট্রিং
$t0-9 টেম্পোরারি যেকোনো টেম্পোরারি স্টোরেজের জন্য ব্যবহৃত
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
MIPS Assembly Exercism

রেজিস্টর কালার ট্রিও শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, MIPS Assembly ট্র্যাকের 70টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।