ओपकोड

कम्प्यूटिंग में, एक ओपकोड (ऑपरेशन कोड से संक्षिप्त, निर्देश मशीन कोड के रूप में भी जाना जाता है, निर्देश कोड, निर्देश शब्दांश,    निर्देश पार्सल या ऑप्टस्ट्रिंग  मशीन कोड निर्देश (कंप्यूटर विज्ञान) का वह हिस्सा है जो किए जाने वाले ऑपरेशन को निर्दिष्ट करता है। ओपकोड के अलावा, अधिकांश निर्देश ओपेरंड के रूप में संसाधित किए जाने वाले डेटा को भी निर्दिष्ट करते हैं। विभिन्न CPU के निर्देश सेट वास्तुकला में उपयोग किए जाने वाले ऑपकोड के अलावा, जो कि हार्डवेयर डिवाइस हैं, उनका उपयोग वर्चुअल मशीन # प्रोसेस वर्चुअल मशीनों में उनके बाइट कोड विनिर्देशों के हिस्से के रूप में भी किया जा सकता है।

सिंहावलोकन
प्रश्न में प्रोसेसर के निर्देश सेट आर्किटेक्चर (निर्देश सेट आर्किटेक्चर) में ओपकोड के विनिर्देशों और प्रारूप को निर्धारित किया गया है, जो एक सामान्य केंद्रीय प्रसंस्करण इकाई या अधिक विशिष्ट प्रसंस्करण इकाई हो सकती है। किसी दिए गए निर्देश सेट के ऑपकोड को ऑपकोड तालिका के उपयोग के माध्यम से वर्णित किया जा सकता है जिसमें सभी संभावित ऑपकोड का विवरण दिया गया हो। ओपकोड के अलावा, एक निर्देश में आमतौर पर ऑपरेंड (यानी डेटा) के लिए एक या एक से अधिक विनिर्देशक होते हैं, जिन पर ऑपरेशन को कार्य करना चाहिए, हालांकि कुछ ऑपरेशनों में अंतर्निहित ऑपरेंड हो सकते हैं, या कोई भी नहीं। अधिक जटिल, चर-लंबाई संरचना के साथ ओपकोड और ऑपरेंड विनिर्देशकों के साथ-साथ अन्य (उदाहरण के लिए x86 आर्किटेक्चर) के लिए लगभग समान फ़ील्ड वाले निर्देश सेट हैं। निर्देश सेट को ऑपकोड उपसर्गों के उपयोग के माध्यम से बढ़ाया जा सकता है जो आरक्षित बाइट अनुक्रमों के बाद मौजूदा ऑपकोड से बने नए निर्देशों का एक सबसेट जोड़ते हैं।

ऑपरेशंस
आर्किटेक्चर के आधार पर, ऑपरेंड प्रोसेसर रजिस्टर वैल्यू, कॉल स्टैक में वैल्यू, अन्य याद वैल्यू, I/O पोर्ट (जो मेमोरी-मैप्ड I/O भी हो सकते हैं) आदि हो सकते हैं, निर्दिष्ट और अधिक या कम जटिल का उपयोग करके एक्सेस किया जा सकता है। संबोधित मोड। संचालन के प्रकार में अंकगणित, डेटा प्रतिलिपि, तार्किक संचालन, और प्रोग्राम नियंत्रण, साथ ही विशेष निर्देश (जैसे सीपीयूआईडी और अन्य) शामिल हैं।

सभा की भाषा, या सिर्फ असेंबली, एक निम्न-स्तरीय प्रोग्रामिंग भाषा है, जो मशीन कोड का प्रतिनिधित्व करने के लिए असेंबली लैंग्वेज#Opcode mnemonics और विस्तारित mnemonics निर्देशों और ऑपरेंड का उपयोग करती है। मशीन के निर्देशों पर सटीक नियंत्रण देते हुए यह पठनीयता को बढ़ाता है। अधिकांश प्रोग्रामिंग वर्तमान में उच्च-स्तरीय प्रोग्रामिंग भाषाओं का उपयोग करके की जाती है, जो आम तौर पर इंसानों के लिए समझने और लिखने में आसान होते हैं। ऑपरेटिंग सिस्टम-विशिष्ट संकलक द्वारा इन भाषाओं को संकलित (असेंबली भाषा में अनुवादित) करने की आवश्यकता है, या अन्य संकलित प्रोग्रामों के माध्यम से चलाने की आवश्यकता है।

सॉफ्टवेयर निर्देश सेट
ऑपकोड तथाकथित बाइट कोड और हार्डवेयर डिवाइस के बजाय सॉफ़्टवेयर दुभाषिया के लिए अन्य अभ्यावेदन में भी पाए जा सकते हैं। ये सॉफ़्टवेयर-आधारित अनुदेश सेट अधिकांश हार्डवेयर समकक्षों की तुलना में अक्सर थोड़े उच्च-स्तरीय डेटा प्रकारों और संचालनों को नियोजित करते हैं, लेकिन फिर भी समान लाइनों के साथ निर्मित होते हैं। उदाहरणों में जावा वर्ग फ़ाइलों में पाए जाने वाले बाइट कोड शामिल हैं, जिन्हें तब जावा वर्चुअल मशीन (JVM) द्वारा व्याख्यायित किया जाता है, संकलित लिस्प (प्रोग्रामिंग भाषा) कोड, .NET सामान्य मध्यवर्ती भाषा (CIL), और कई के लिए GNU Emacs में उपयोग किए जाने वाले बाइट कोड। अन्य।

यह भी देखें

 * गैजेट (मशीन निर्देश अनुक्रम)
 * अवैध ओपकोड
 * शब्दांश (कंप्यूटिंग)