What is Addressing Modes & its Types बहुत लोगो को पता है Computer Addressing modes क्या होता है ।हमने इस टॉपिक में Computer addressing को बहुत ही Short और सटीक से समझाए है ।
तो चलिए टॉपिक को स्टार्ट करते है | स्टार्ट करने से पहले हमने पिछले टॉपिक में पढ़े थे कि What is integer and floating point arithmetic? Computer Architecture hindi अगर आपने इस टॉपिक को नहीं पढ़ा है तो प्लीज इस टॉपिक का अध्धयन कर लीजिये ।
What is Addressing Modes
यदि आप पूर्व से C programming language के विषय में जानते हैं तो आपको addressing mode सरलता से समझ में आ जायेगा। किसी instruction में जो operand प्रयोग किया गया है उसका memory address क्या है यह आपको addressing mode की सहायता से प्राप्त होती है।
Advertisement
जैसे fabeft instruction , opcode operand-1, operand-2 feet otel है यहाँ operand-1, operand-2 का जो भी location होगा addressing mode के द्वारा प्राप्त हो जायेगा। सामान्यतः सभी computer architecture में एक से अधिक addressing mode की सुविधा उपलब्ध होती हैं। सामान्यतः निम्न 7 प्रकारों में addressing तकनीक के उपयोग किया जाता है।
- Direct
- Indirect
- Immediate
- Register
- Register Indirect
- Displacement
- Stack
Type of Addressing Modes:
उपरोक्त addressing तकनीक को ही उसका types कह जाता है, इसलिए इसका उपयोग निम्न प्रकार से किया जाता है।
1) Direct addressing mode:
इसे absolute addressing mode भी कहा जाता है। किर operand का पता मुख्य memory या register होता है। इसमें या 16 bits का operand का effective address, address fiel content का होता है, अर्थात् इसमें instruction के अंदर operand का address दे दिया जाता है। इसे निम्न diagram समझा जा सकता है:
Example
ADDAL, [0200]
यहाँ 0200 offset address में जो भी तत्व है उसे जोड़ने का कार्य किये हैं।
Advertisement
ii) Indirect addressing mode:
किसी operand का पता मुख्य memory या registere है, यदि उस memory में operand का मान न होकर एक पता लिखा हुआ है तो इसे indirect addressing mode कहेंगे। कई बार ऐसा होता है कि address field का आकार word के आकार से छोटा होता है ऐसे में word का address को रख दिया जाता जिससे उसके मान तक पहूँचा जा सके। इसे निम्न diagram समझा जा सकता है।
Example:
EA=(B)
Indirect addressing mode में कोष्टक का प्रयोग किया जाता है जिसका अर्थ है 'B' मान नहीं है वरन् 'B' के पास register या memory में रखे मान का पता है।
iii) Immediate addressing mode:
सामान्यतः operand का पता मुख्य memory या register होता है, इसमें operand instruction के अंदर ही होता है।इसमें variable के आरंभिक मान को रख दिया जाता है। इस तकनीक का लाभ यह है कि इसमें memory का reference देने की आवश्यक नहीं होती। परंतु इसका नुकसान यह है कि address का length समान होती है परंतु word length कम या ज्यादा हो सकती । इसे निम्न diagram से समझा जा सकता है:
Example:
MOV EA, 200
इस उदाहरण में 200 data को EA register में मूव करते हैं।
iv) Register mode:
Register के तत्व के रूप में operand का मान होता है इसमें 8 या 16 bits के जो general purpose register होते हैं उस स्थान पर operand को रखा जाता है, और operand जो उस register में होता है उसे instruction के द्वारा निर्दिष्ट किया जाता है । इसका diagram direct mode के समान होता है।
Example:
MOV AH, AL
इस उदाहरण में AH register के मान को AL registers में move करते हैं।
v) Register indirect mode:
यह direct addressing mode की तरह ही होता है। जिस प्रकार direct में और indirect addressing mode में अंतर होता। उसी प्रकार इनमें होता है Register के तत्व के रूप में operantd का मान न होकर उसमें address होता है। इसके register में memory address होता है इसके बाद जब उस address में जाते तो वहाँ से उस operand की value प्राप्त होती है इसी वजह से इसे indirect addressing कहा जाता है।
Example:
AH=(R)
इस उदाहरण में R के पास data न होकर उसका address होता है जो AH register को स्थानांतरित हो जाता है।
vi) Displacement addressing:
यह direct addressing एवं रजिस्टर indirect addressing का मिला-जुला रूप होता है। इसमें base register के तत्व के रूप में memory location pointer होता है। इस addressing तकनी को दो address field की आवश्यकता होती है, और जिसमें कम से कम एक स्पष्ट रूप से दिया गया हो एवं दूसरा reference के रूप में हो सकता है। इसे कुछ निम्न उदाहरण की तरह उपयोग कि जाता है:
AH = A+ (R)
Advertisement
vii) Stack addressing:
यह linear array या list of location के सिद्धांत पर कार्य करता है यह list में push करना एवं stack की तरह उसके last में push किये गये तत्व को पहले निकालने की तरह कार्य करता है। इसमें stack के top में जो भी value होता है उसके address को सबसे पहले point किया जाता है उसके उपयोग हो जाने के पश्चात् उसके बाद के address पर जाते हैं इसे निम्न diagram की तरह उपयोग किया जाता है।
इसमें stack विधि को लागु करने के लिए एक pointer होता है जो एक register में संग्रहित होता है इसमें stack किस स्थान पर है इसका अप्रत्यक्ष रूप से पता लिखा हुआ होता है।
0 Comments