8051 में R0 से R32 - 8051 क्यों नहीं है

8051 मेमोरी बैंक (00h से 1 एफएच) में, 8051 में से प्रत्येक को 32 रजिस्टरों को 8 रजिस्टरों (आर 0 टी 0 आर 7) के रूप में प्रदान किया जाता है। इन रजिस्टरों को R31 के रूप में R0 क्यों नहीं दिया जाता है?

अग्रिम में धन्यवाद..

उत्तर:

उत्तर № 1 के लिए 4

कई निर्देश opcodes केवल 8 बिट लंबे हैं; अगरसभी 32 रजिस्ट्रार इन निर्देशों में से एक में पहुंच योग्य थे, तो निर्देश की लंबाई और संचालन को एन्कोड करने के लिए केवल 3 बिट शेष होंगे। इसी प्रकार, दो बाइट निर्देश अक्सर एक पूर्ण 8-बिट ऑपरेंड (उदाहरण के लिए, एक पता) को एन्कोड करने के लिए दूसरे बाइट का उपयोग करते हैं, और प्रभावी रूप से एक ही बाधा है।

कई मामलों में इसका उल्लेख करना संभव हैलंबे निर्देशों का उपयोग करके आपको अपने पूर्ण पते से पंजीकरण करने की आवश्यकता है, लेकिन यदि आप इसे अक्सर एक्सेस करेंगे तो सक्रिय बैंक को बदलना बेहतर होगा ताकि आप अधिक छोटे ऑपकोड का उपयोग कर सकें।


जवाब के लिए 2 № 2

जहां तक ​​मुझे याद है कि आप केवल 8 तक पहुंच सकते हैंवे एक समय में रजिस्टर करते हैं। उन अन्य समूहों में से किसी एक को एक्सेस करने के लिए आपको बैंक को स्विच करने की आवश्यकता है। मुझे लगता है कि इसमें एक निर्देश ऑपरेशन के साथ कुछ करना है और केवल 3 बिट लंबे (और 5 बिट्स नहीं) हैं।


संबंधित सवाल
सबसे लोकप्रिय