IN এবং OUT নির্দেশনাগুলি Assembly Language-এ ব্যবহৃত বিশেষ নির্দেশনা, যা CPU-র মাধ্যমে I/O (Input/Output) ডিভাইসের সাথে ডেটা আদান-প্রদান করতে ব্যবহৃত হয়। এই নির্দেশনাগুলি সরাসরি হার্ডওয়্যার ডিভাইস যেমন কীবোর্ড, প্রিন্টার, বা অন্যান্য পেরিফেরাল ডিভাইসের সাথে যোগাযোগের জন্য ব্যবহৃত হয়।
IN Instruction:
- সংজ্ঞা: IN নির্দেশনা CPU-কে একটি নির্দিষ্ট I/O পোর্ট থেকে ডেটা পড়তে নির্দেশ করে।
গঠন:
IN accumulator, port- accumulator: সাধারণত
AL,AX, বাEAXরেজিস্টার ব্যবহার করা হয়। - port: I/O পোর্টের ঠিকানা, যা থেকে ডেটা পড়া হবে।
- accumulator: সাধারণত
- ব্যবহার:
- CPU কোন ইনপুট ডিভাইস থেকে ডেটা গ্রহণ করতে চাইলে IN নির্দেশনা ব্যবহার করে।
উদাহরণ:
IN AL, 60h ; 60h পোর্ট থেকে ডেটা AL রেজিস্টারে পড়া
OUT Instruction:
- সংজ্ঞা: OUT নির্দেশনা CPU-কে একটি নির্দিষ্ট I/O পোর্টে ডেটা পাঠাতে নির্দেশ করে।
গঠন:
OUT port, accumulator- port: I/O পোর্টের ঠিকানা, যেখানে ডেটা পাঠানো হবে।
- accumulator: সাধারণত
AL,AX, বাEAXরেজিস্টার ব্যবহার করা হয়, যেখান থেকে ডেটা পাঠানো হবে।
- ব্যবহার:
- CPU কোন আউটপুট ডিভাইসে ডেটা পাঠাতে চাইলে OUT নির্দেশনা ব্যবহার করে।
উদাহরণ:
OUT 60h, AL ; AL রেজিস্টারের ডেটা 60h পোর্টে পাঠানো
IN এবং OUT Instructions এর ব্যবহারিক উদাহরণ:
MOV AL, 0x12 ; AL রেজিস্টারে 0x12 লোড করা
OUT 60h, AL ; 0x12 মান 60h পোর্টে পাঠানো
IN AL, 60h ; 60h পোর্ট থেকে ডেটা AL রেজিস্টারে পড়াব্যাখ্যা:
- প্রথমে
MOV AL, 0x12নির্দেশনা ব্যবহার করে AL রেজিস্টারে 0x12 মান লোড করা হয়েছে। OUT 60h, ALনির্দেশনা AL-এর মান 60h পোর্টে পাঠিয়েছে।- পরে
IN AL, 60hনির্দেশনা ব্যবহার করে 60h পোর্ট থেকে AL রেজিস্টারে ডেটা পড়া হয়েছে।
I/O Operations এ IN এবং OUT নির্দেশনার গুরুত্ব:
- সরাসরি হার্ডওয়্যার অ্যাক্সেস:
- IN এবং OUT নির্দেশনা ব্যবহার করে CPU সরাসরি পেরিফেরাল ডিভাইসের সাথে যোগাযোগ করতে পারে। এটি বিশেষভাবে গুরুত্বপূর্ণ এম্বেডেড সিস্টেম এবং হার্ডওয়্যার-নিয়ন্ত্রিত অ্যাপ্লিকেশনগুলিতে।
- ডেটা ট্রান্সফার:
- CPU I/O পোর্টের মাধ্যমে ইনপুট ডিভাইস থেকে ডেটা নিতে এবং আউটপুট ডিভাইসে ডেটা পাঠাতে সক্ষম হয়। যেমন, কীবোর্ড থেকে ইনপুট নেওয়া বা ডিসপ্লেতে আউটপুট পাঠানো।
- নিয়ন্ত্রণ এবং স্ট্যাটাস চেক:
- CPU বিভিন্ন ডিভাইসের স্ট্যাটাস চেক করতে এবং নিয়ন্ত্রণ সিগন্যাল পাঠাতে IN এবং OUT নির্দেশনা ব্যবহার করতে পারে।
সারসংক্ষেপ
IN এবং OUT নির্দেশনাগুলি Assembly Language প্রোগ্রামিংয়ে CPU এবং পেরিফেরাল ডিভাইসের মধ্যে সরাসরি ডেটা ট্রান্সফারের জন্য ব্যবহৃত হয়। IN নির্দেশনা ডেটা পড়তে এবং OUT নির্দেশনা ডেটা পাঠাতে ব্যবহৃত হয়। এগুলি সরাসরি I/O অপারেশন সম্পাদন করতে সহায়ক, যা এম্বেডেড সিস্টেম এবং সিস্টেম প্রোগ্রামিংয়ে অত্যন্ত গুরুত্বপূর্ণ।
Read more