অ্যাড্রেসিং মোড: ইমিডিয়েট, ডিরেক্ট, ইন্ডিরেক্ট
কম্পিউটার আর্কিটেকচারে অ্যাড্রেসিং মোড হলো একটি পদ্ধতি বা কৌশল যার মাধ্যমে একটি ইনস্ট্রাকশন কতটুকু প্রক্রিয়া করা হবে তা নির্ধারণ করা হয়। এটি প্রোগ্রামের জন্য অপারেশন, ডাটা এবং মেমোরি স্থান নির্দেশ করার কৌশল। এই মোডগুলি বিভিন্নভাবে ডাটা এক্সেস বা আউটপুট করতে সহায়ক হয়। এখানে ইমিডিয়েট, ডিরেক্ট এবং ইন্ডিরেক্ট অ্যাড্রেসিং মোডের বিস্তারিত ব্যাখ্যা দেওয়া হলো:
১. ইমিডিয়েট অ্যাড্রেসিং (Immediate Addressing)
ইমিডিয়েট অ্যাড্রেসিং মোডে, ইনস্ট্রাকশনেই সরাসরি ডাটা প্রদান করা হয়, অর্থাৎ ডাটা এবং তার অ্যাড্রেস একই ইনস্ট্রাকশনে থাকে। এতে অপার্যান্ড (operand) হিসেবে ডাটা সরাসরি প্রদান করা হয়, যা অ্যাড্রেসিংয়ের মাধ্যমে কোথাও রেফারেন্স করা হয় না।
উদাহরণ:
MOV A, #5এখানে 5 হলো ইমিডিয়েট অপার্যান্ড, যা সরাসরি রেজিস্টারে A এ স্থানান্তর করা হয়। এখানে কোন মেমোরি অ্যাড্রেসের প্রয়োজন নেই; সরাসরি মানটি প্রদান করা হয়।
বৈশিষ্ট্য:
- ডাটা সরাসরি ইনস্ট্রাকশনেই থাকে।
- কোন মেমোরি অ্যাড্রেসিং নেই।
- অপারেশন দ্রুত হতে পারে, কারণ মেমোরি অ্যাক্সেস করার প্রয়োজন নেই।
২. ডিরেক্ট অ্যাড্রেসিং (Direct Addressing)
ডিরেক্ট অ্যাড্রেসিং মোডে, ইনস্ট্রাকশনে ডাটার জন্য সরাসরি মেমোরি অ্যাড্রেস প্রদান করা হয়। অর্থাৎ, ইনস্ট্রাকশনে একটি অ্যাড্রেস দেওয়া হয় এবং মাইক্রোপ্রসেসর সেখান থেকে ডাটা পড়ে বা লেখে।
উদাহরণ:
MOV A, 2000Hএখানে 2000H হলো মেমোরি অ্যাড্রেস, এবং ইনস্ট্রাকশনটি অ্যাড্রেস 2000H থেকে ডাটা নিয়ে রেজিস্টারে A এ স্থানান্তর করবে।
বৈশিষ্ট্য:
- মেমোরি অ্যাড্রেস সরাসরি ইনস্ট্রাকশনে থাকে।
- কমপ্লেক্স ডাটা প্রসেসিংয়ের জন্য ব্যবহার করা হয়।
- ইমিডিয়েট অ্যাড্রেসিংয়ের তুলনায় কিছুটা ধীর হতে পারে, কারণ মেমোরি অ্যাক্সেস করতে হয়।
৩. ইন্ডিরেক্ট অ্যাড্রেসিং (Indirect Addressing)
ইন্ডিরেক্ট অ্যাড্রেসিং মোডে, ইনস্ট্রাকশনে ডাটার জন্য সরাসরি অ্যাড্রেস না দিয়ে একটি রেজিস্টার বা মেমোরি সেল ব্যবহার করা হয়, যার মধ্যে অ্যাড্রেসটি রাখা থাকে। এটি এক ধাপ বেশি স্তরের অ্যাড্রেসিং, যেখানে আসল অ্যাড্রেসটি অন্য কোথাও সংরক্ষিত থাকে।
উদাহরণ:
MOV A, @R0এখানে R0 রেজিস্টারে একটি অ্যাড্রেস ধারণ করা হয়, এবং ইনস্ট্রাকশনটি সেই অ্যাড্রেসে গিয়ে ডাটা পড়বে বা লেখবে। এটি ইন্ডিরেক্ট অ্যাড্রেসিংয়ের উদাহরণ।
বৈশিষ্ট্য:
- রেজিস্টার বা মেমোরি সেলকে একটি অ্যাড্রেস পয়েন্টার হিসেবে ব্যবহার করা হয়।
- এটি আরো নমনীয় কারণ অ্যাড্রেসটি পরিবর্তনযোগ্য।
- মেমোরি অ্যাক্সেস করতে আরও এক ধাপ বেশি সময় লাগে।
সারসংক্ষেপ
| অ্যাড্রেসিং মোড | ব্যাখ্যা | উদাহরণ |
|---|---|---|
| ইমিডিয়েট | ইনস্ট্রাকশনে সরাসরি ডাটা প্রদান করা হয়। | MOV A, #5 |
| ডিরেক্ট | সরাসরি মেমোরি অ্যাড্রেসের মাধ্যমে ডাটা এক্সেস করা হয়। | MOV A, 2000H |
| ইন্ডিরেক্ট | রেজিস্টার বা মেমোরি সেলের মাধ্যমে অ্যাড্রেস রেফারেন্স করা হয়। | MOV A, @R0 |
এই তিনটি অ্যাড্রেসিং মোডের মধ্যে, ইমিডিয়েট দ্রুত এবং সরাসরি ডাটা ব্যবহার করে, ডিরেক্ট সরাসরি মেমোরি অ্যাড্রেস ব্যবহার করে, এবং ইন্ডিরেক্ট একটি পয়েন্টারের মাধ্যমে ডাটা অ্যাক্সেস করে, যা আরও নমনীয়।
Read more