प्रत्येक ऑपोड में एन बाइट्स का एक निर्देश होगा, जो बाद में एम बाइट्स डेटा (मेमोरी पॉइंटर्स इत्यादि) होने की अपेक्षा करता है। इसलिए सीपीयू प्रत्येक ऑपोड का उपयोग यह निर्धारित करने के लिए करता है कि निम्न बाइट्स कितने डेटा हैं।
निश्चित रूप से पुराने प्रोसेसर (जैसे पुराने 8-बिट प्रकार जैसे 6502 और इसी तरह) के लिए कोई अंतर नहीं था। आप सामान्य रूप से कार्यक्रम की शुरुआत में कार्यक्रम की शुरुआत के लिए प्रोग्राम काउंटर को इंगित करेंगे और यह स्मृति में कहीं और डेटा का संदर्भ देगा, लेकिन प्रोग्राम/डेटा को सरल 8-बिट मानों के रूप में संग्रहीत किया जाएगा। प्रोसेसर स्वयं दोनों के बीच अंतर नहीं कर सका।
यह कौन-सा डेटा के रूप में समझा था पर कार्यक्रम काउंटर बात करने के लिए पूरी तरह से संभव हो गया था, और वास्तव में मुझे याद है एक पुराने कॉलेज ट्यूटोरियल जहाँ मेरे प्रोफेसर वास्तव में किया था कि, और हम उसे बाहर गलती बात करने के लिए किया था। उनकी प्रतिक्रिया थी "लेकिन वह डेटा है! यह निष्पादित नहीं कर सकता है! क्या यह हो सकता है?", जिस बिंदु पर मैंने वैध डेटा के साथ हमारे डेटा को पॉप्युलेट किया, यह साबित करने के लिए कि वास्तव में, यह हो सकता है।
स्रोत
2010-01-07 18:11:01
यह अभी भी करना संभव है। –
धन्यवाद ब्रायन। इसलिए, आमतौर पर रीसेट करने के तुरंत बाद, पीसी को पढ़ने वाले डेटा से लोड किया जाता है, जिसे इसे निष्पादित करने के लिए निर्देश (ओपोड + ऑपरेंड इत्यादि) और निम्नानुसार संचालित डेटा के रूप में व्याख्या किया जाता है। और पीसी और आईआर इन निर्देशों को डीकोड करने तक सभी ठीक हो जाते हैं। अन्यथा एक अपवाद होता है (निरस्त या अपरिभाषित निर्देश)। –
@Neil - हाँ। मैं पूरे सेगमेंटेशन मुद्दे में नहीं जाना चाहता था क्योंकि मैं आधुनिक सीपीयू आर्किटेक्चर –