एक कंप्यूटर केवल वही कर सकता है जो प्रोग्रामर किसी विशेष कार्य को करने के लिए कहता है। प्रोग्रामर निर्देशों का एक अनुक्रम तैयार करता है, जिसे एक कार्यक्रम कहा जाता है। किसी विशेष कंप्यूटर के लिए लिखे गए कार्यक्रमों का एक जाल उस कंप्यूटर के लिए सॉफ़्टवेयर के रूप में जाना जाता है। कार्यक्रम RAM में संग्रहीत किया जाता है। सीपीयू रैम से एक समय में कार्यक्रम का एक निर्देश लेता है और इसे निष्पादित करता है। यह वांछित परिणाम प्रस्तुत करने के लिए एक-एक करके कार्यक्रम के सभी निर्देशों को निष्पादित करता है। एक कंप्यूटर अपने ऑपरेशन के लिए बाइनरी अंकों का उपयोग करता है और केवल शून्य और लोगों से बनी जानकारी को समझता है। इसलिए, निर्देशों को शून्य और लोगों के रूप में स्मृति में कोडित और संग्रहीत किया जाता है।
ओएस और 1एस के रूप में लिखे गए प्रोग्राम को मशीन लैंग्वेज प्रोग्राम कहा जाता है। मशीन भाषा में प्रत्येक निर्देश के लिए एक विशिष्ट बाइनरी कोड है। उदाहरण के लिए, इंटेल 8085 के लिए रजिस्टर ए और रजिस्टर बी की सामग्री जोड़ने के लिए, बाइनरी कोड 10000000 है। रजिस्टर बी की सामग्री को स्थानांतरित करने के लिए बाइनरी कोड 01111000 है। प्रोग्रामर के लिए मशीन कोड में प्रोग्राम लिखना बहुत मुश्किल होता है। इसके अलावा, यह त्रुटि प्रवण है।
मशीन भाषा कार्यक्रमों के अवगुण हैं:
- किसी प्रोग्राम को समझना या डिबग करना बहुत मुश्किल है।
- चूंकि प्रत्येक बिट को व्यक्तिगत रूप से किसी कार्यक्रम के प्रवेश में प्रवेश करना होगा।
- प्रोग्राम लंबे होते हैं।
- प्रोग्राम लेखन मुश्किल और थकाऊ है। 5. कार्यक्रम लिखने में लापरवाह त्रुटियों की संभावना है।
मशीन कोड में लिखा गया एक कार्यक्रम अंततः बाइनरी नंबरों का एक सेट बन जाता है। स्मृति स्थानों 2501 और 2503 में रखे गए दो नंबरों को जोड़ने के लिए एक मशीन भाषा कार्यक्रम नीचे दिखाया गया है। रिजल्ट को मेमोरी लोकेशन 2503 में रखा जाना है।
>> अन्य पढ़े : माइक्रोप्रोसेसर आर्किटेक्चर | Microprocessor Architecture
असेंबली लैंग्वेज | Assembly Language:
मशीन भाषाओं में प्रोग्राम के लेखन बहुत मुश्किल है, थकाऊ, उबाऊ । इसलिए, प्रोग्रामर को आसानी से समझने वाली भाषाओं को विकसित किया गया है। असेंबली लैंग्वेज उनमें से एक है। एक कार्यक्रम सी शून्य और लोगों के बजाय अल्फान्यूमेरिक प्रतीकों में एक कार्यक्रम को काफी लवे करता है। सार्थक और आसानी से याद करने योग्य प्रतीकों को इस उद्देश्य के लिए चुना जाता है। उदाहरण हैं: जोड़ने के लिए ADD, घटाव के लिए SUB। स्नेमोनिक्स में लिखे गए एक कार्यक्रम को असेंबली लैंग्वेज प्रोग्राम के रूप में जाना जाता है। मशीन भाषा में एक कार्यक्रम के लेखन की तुलना में विधानसभा भाषा में एक कार्यक्रम का लेखन बहुत आसान और तेज है। एक असेंबली भाषा और मशीन भाषा दोनों माइक्रोप्रोसेसर विशिष्ट हैं। एक माइक्रोप्रोसेसर विशिष्ट भाषा को निम्न स्तर की भाषा के रूप में जाना जाता है। एक भाषा की विशिष्ठ विशेषता एक स्नेमोनिक के अनुरूप जाना जाता है, केवल एक मशीन कोड है।
एक उच्च स्तरीय भाषा का एक बयान, मशीन कोड की एक संख्या है। जब एक प्रोग्राम मशीन भाषा के अलावा अन्य भाषा में लिखा जाता है, तो एक भाषा में लिखा जाता है, दूसरी ओर मशीन कोड के मिलान की एक संख्या के अनुरूप होता है, एक कंप्यूटर इसे समझ नहीं सकता है। कार्यक्रम नतीजतन है, एक कार्यक्रम अंय भाषा में लिखा है मशीन भाषा में अनुवाद किया जाना है इससे पहले कि यह मार डाला है । अनुवाद सॉफ्टवेयर की मदद से किया जाता है। एक कार्यक्रम जो एक असेंबली का अनुवाद करता है, एक कार्यक्रम जो दूसरों में लिखा जाता है जो पागल में और मशीन भाषा में अनुवादित होता है, इससे पहले कि यह एक मशीन भाषा कार्यक्रम में एक भाषा कार्यक्रम है, जिसे एक असेंबलर कहा जाता है।
असेंबलिंग का लाभ जो माइक्रोकंप्यूटर पर चलता है जिसके लिए यह ऑब्जेक्ट कोड (मशीन कोड) का उत्पादन करता है एक माइक्रोकंप्यूटर में गति, परिधीय, सॉफ्टवेयर सुविधाजनक असेंबली के लिए समर्थन का अभाव होता है और छोटे मेमोरी होते हैं जिसके परिणामस्वरूप कार्यक्रमों के विकास के लिए धीमी गति होती है। एक बड़े कंप्यूटर पर कम समय में आसानी से एक कार्यक्रम विकसित किया जा सकता है। जब कोई प्रोग्राम दूसरे कंप्यूटर पर विकसित किया जाता है, तो क्रॉस-असेंबलर की आवश्यकता होती है। क्रॉस-असेंबलर एक असेंबलर है जो उसके अलावा कंप्यूटर पर चलता है जिसके लिए यह ऑब्जेक्ट कोड पैदा करता है।
यह एक मशीन भाषा कार्यक्रम को असेंबली लैन गेज प्रोग्राम में बदलने के लिए एक सॉफ्टवेयर सहायता है। इसकी भूमिका एक असेंबलर के पूरक है । यह स्थितियों में उपयोगी है, जब एक कार्यक्रम मशीन भाषा में उपलब्ध है और यह बेहतर समझ के लिए विधानसभा भाषा में परिवर्तित किया जाना है ।
एक असेंबलर जो केवल एक बार असेंबली भाषा कार्यक्रम के माध्यम से जाता है, को एक-पास असेंबलर के रूप में जाना जाता है। इस तरह के एक असेंबलर को आगे के संदर्भों को ध्यान में रखने के लिए कुछ तकनीक होनी चाहिए। असेंबली भाषा कार्यक्रम उन लेबल का उपयोग करते हैं जो बाद में कार्यक्रम में दिखाई दे सकते हैं। इस तरह के लेबल फॉरवर्ड रेफरेंस की ओर इशारा करते हैं ।
एक असेंबलर जो दो बार असेंबली लैंग्वेज प्रोग्राम से गुजरता है, उसे टीटू-पास असेंबलर कहा जाता है । इस तरह के एक असेंबलर आगे संदर्भ के साथ कठिनाई का सामना नहीं करता है । पहले पास के दौरान यह सभी लैब्स एकत्र करता है। दूसरे पास के दौरान यह प्रत्येक निर्देश के लिए मशीन कोड का उत्पादन करता है और उनमें से प्रत्येक को पते असाइन करता है। यह शुरुआती पते से अपनी स्थिति की गिनती करके लैब्स को पते असाइन करता है।
एक असेंबलर जो केवल एक बार असेंबली भाषा कार्यक्रम के माध्यम से जाता है, को एक-पास असेंबलर के रूप में जाना जाता है। इस तरह के एक असेंबलर को आगे के संदर्भों को ध्यान में रखने के लिए कुछ तकनीक होनी चाहिए। असेंबली भाषा कार्यक्रम उन लेबल का उपयोग करते हैं जो बाद में कार्यक्रम में दिखाई दे सकते हैं। इस तरह के लेबल फॉरवर्ड रेफरेंस की ओर इशारा करते हैं ।
एक पास असेंबलर तेजी से होता है क्योंकि यह केवल एक बार एक कार्यक्रम के माध्यम से जाता है। इसका नुकसान यह है कि यह दो-पास असेंबलर के रूप में कई विशेषताएं प्रदान नहीं करता है। दो पास असेंबलर्स आमतौर पर उपयोग किए जाते हैं।
उच्च स्तरीय भाषा | High Level Language:
उच्च स्तरीय भाषाओं का उपयोग करके असेंबली भाषा से जुड़ी कठिनाइयों को दूर किया जा सकता है। उच्च स्तरीय भाषाओं में लिखे गए निर्देशों को माफी के बजाय बयान कहा जाता है। एक उच्च स्तरीय भाषा के बयानों में अधिक स्पष्ट रूप से स्नेमोनिक्स की तुलना में अंग्रेजी और गणित जैसा दिखता है। उच्च स्तरीय भाषाओं के उदाहरण हैं: फोर्टरान, कोबोल, बेसिक, पास्कल। ये भाषाएं कंप्यूटर उन्मुख के बजाय प्रक्रिया उन्मुख हैं। लिखते समय, उच्च स्तरीय भाषा में एक कार्यक्रम कंप्यूटर वास्तुकला का ज्ञान और पंजीकरण संगठनों आदि की आवश्यकता नहीं है।
कंप्यूटर के एक प्रकार के लिए इन भाषाओं में लिखा कार्यक्रम आसानी से कंप्यूटर के किसी भी अंय प्रकार के लिए इस्तेमाल किया जा सकता है । इस प्रकार एक उच्च स्तरीय भाषा में लिखे गए कार्यक्रम पोर्टेबल हैं। इन भाषाओं में लिखना आसान और तेज है क्योंकि उच्च स्तरीय भाषा का एक बयान असेंबली भाषा के कई निर्देशों से मेल खाता है। कंपाइलर को कंप्यूटर के संचालन के लिए मशीन कोड में उच्च स्तरीय भाषा का अनुवाद करने की आवश्यकता होती है।