उदाहरण के लिए, संचयक को EAX
नाम दिया गया है, जबकि निर्देश सूचक को IP
कहा जाता है। मुझे यह भी पता है कि CL
और DH
नामक बाइट्स हैं। मुझे पता है कि सभी नामों के लिए एक सम्मेलन होना चाहिए, लेकिन यह क्या है?x86 रजिस्ट्रारों का नाम क्यों है?
उत्तर
सी और डी उच्च संख्या के निम्न हिस्सों के लिए उच्च और एल के लिए संख्या/प्रकार और एच हैं। http://en.wikipedia.org/wiki/X86
विकिपीडिया इसे बहुत अच्छी तरह से समझाता है।
विकिपीडिया से अधिक:
- कुल्हाड़ी/EAX/RAX: संचायक
- BX/EBX/Rbx: आधार
- CX/ECX/RCX: काउंटर
- DX/EDX/RDX : डेटा/सामान्य
* EAX - Accumulator Register
* EBX - Base Register
* ECX - Counter Register
* EDX - Data Register
* ESI - Source Index
* EDI - Destination Index
* EBP - Base Pointer
* ESP - Stack Pointer
यह इतिहास है। X86 8086 से आया था, जो 8080 से आया था, जो 8008 से आया था, जो 4004 से आया था। 16-बिट रजिस्ट्रार एएक्स, बीएक्स इत्यादि थे और 80386 के लिए उन्हें 32 बिट्स तक "विस्तारित" किया गया था।
जोड़ा गया: बीटीडब्ल्यू मोटोरोला 68 के शुरुआत से 32-बिट रजिस्ट्रार थे, इसलिए पहले कुछ दशकों के लिए कार्यक्रम करना बहुत आसान था। मैंने उन परियोजनाओं पर काम किया जहां इंटेल को व्यावसायिक कारणों से चुना गया था, तकनीकी नहीं।
इतिहास प्रतिसाद नहीं याद किया निरंतर नहीं - 8080 के पास अलग-अलग रजिस्टर नाम हैं, और ये नाम 8086 के साथ आए थे। 8086 और 8080 दोनों प्रकारों में, विशेष प्रयोजन रजिस्ट्रारों के साथ सीआईएससी आर्किटेक्चर को ध्यान में रखते हुए, आरआईएससी बाद में आया, सभी रजिस्ट्रार बहुत समान हैं 'दृष्टिकोण (8 बिट्स में अधिकतर निर्देशों को एन्कोड करने की बजाय प्रति निर्देश 32 बिट्स के साथ सहायता)। – ijw
@ijw - लेकिन 8080 से 8086 अनुवादक थे, और एक मैपिंग है। 8080 का एक रजिस्टर एएल बन गया, 8080 की रजिस्टर जोड़ी बी, सी सीएच, सीएल बन गई। 8080 की रजिस्टर जोड़ी डी, ई डीएच, डीएल बन गई। 8080 की रजिस्टर जोड़ी एच, एल बीएच, बीएल बन गई। 8086 में एलएएचएफ और एसएएचएफ निर्देश शामिल हैं जो 8080 से 8086 अनुवाद में मदद करते हैं। 8086 एसआई (स्रोत सूचकांक), डीआई (गंतव्य सूचकांक), और बीपी (आधार सूचक जो एसएस सेगमेंट रजिस्टर के लिए डिफ़ॉल्ट) जैसे रजिस्टरों को जोड़ा गया। – rcgldr
पुराने प्रोसेसर में ए, बी, आदि नामक जमाकर्ता हैं (वर्णमाला आदेश)। जब 16 और 32 बिट्स accumulators विकसित किए गए थे, इंजीनियरों ने एक एक्स (विस्तारित) जोड़ा। तो इतिहास के बारे में सब कुछ, क्योंकि भाषा सी को इस तरह से बुलाया जाता है क्योंकि यह बी भाषा (बेल प्रयोगशालाओं) से विकसित किया गया था।
सम्मेलन केवल उन आंतरिक नामों को बनाए रखने के लिए आंतरिक है, जिनके साथ वे परिचित हैं।
वास्तव में पंजीयक वर्णमाला क्रम में नहीं हैं। असली आदेश ए, सी, डी, बी है –
कुछ अच्छी यहाँ जवाब: x86 assembly registers — Why do they work the way they do?
- 1. x86 थोड़ा एंडियन क्यों है?
- 2. x86
- 3. फ़ाइल का नाम catalina.out क्यों है?
- 4. आरएआईआई का नाम क्यों रखा गया है?
- 5. x86
- 6. x86
- 7. x86
- 8. x86
- 9. x86
- 10. हमें x86 पर zone_highmem क्यों चाहिए?
- 11. x86
- 12. x86
- 13. , x86-64 को अभी भी स्थानान्तरण की आवश्यकता क्यों है?
- 14. x86 आरआईएससी या सीआईएससी है?
- 15. Node.js नाम Node.js क्यों है?
- 16. टाइप_इनफ़ो :: नाम() निर्दिष्ट क्यों है?
- 17. लिनक्स का पृष्ठ आकार (x86) 4 KB क्यों है, इसकी गणना कैसे की जाती है?
- 18. x86 assemby में "पुश ईबीपी" का क्या अर्थ है?
- 19. एनओपीएल x86 सिस्टम में क्या करता है?
- 20. i386 x86 से अलग है?
- 21. x86-64
- 22. एंड्रॉइड-x86
- 23. x86 linux
- 24. x86 आर्किटेक्चर
- 25. x86 पर लिनक्स उपयोगकर्ता प्रक्रियाओं और कर्नेल के लिए अलग सेगमेंट का उपयोग क्यों करता है?
- 26. स्रोत फ़ाइल का नाम संकलन को क्यों प्रभावित करता है?
- 27. हमें इंटरफ़ेस विधि पैरामीटर का नाम क्यों देना है?
- 28. अलग-अलग शीर्षलेखों का एक ही नाम क्यों है?
- 29. संकलित बाइनरी में जी ++ स्टोर क्लास का नाम क्यों है?
- 30. रूबी में इनलाइन स्ट्रिंग ब्लॉक का नाम "ईओएस" क्यों है?
अधिक इतिहास और विवरण के लिए: http://www.swansontec.com/sregisters.html – rmmh
@Daniel, आप ईएसआई, ईडीआई, ईबीपी, आदि – Pacerier