What is Assembly Language in Hindi

मशीन भाषा को आम तौर पर पहली पीढ़ी की भाषा के रूप में जाना जाता है, विधानसभा भाषा को दूसरी पीढ़ी की भाषा के रूप में जाना जाता है, और उच्च स्तरीय भाषाओं जैसे C, C++, JAVA, आदि को तीसरी पीढ़ी की भाषा कहा जाता है. एक असेम्बलर एक प्रोग्राम है जो असेंबली लैंग्वेज को मशीन कोड में परिवर्तित करता है। यह असेंबली कोड से मूल कमांड और संचालन लेता है और उन्हें बाइनरी कोड में परिवर्तित करता है जिसे एक विशेष प्रकार के प्रोसेसर द्वारा पहचाना जा सकता है. Assembler compiler के समान होते हैं जिसमें वे निष्पादन योग्य कोड का उत्पादन करते हैं. हालाँकि, Assembler अधिक सरल हैं क्योंकि वे केवल निम्न-स्तरीय कोड (Assembly language) को मशीन कोड में परिवर्तित करते हैं. चूंकि प्रत्येक Assembler Language एक विशिष्ट प्रोसेसर के लिए डिज़ाइन की गई है, इसलिए Assembly code से मशीन कोड तक एक साधारण एक-से-एक मैपिंग का उपयोग करके एक प्रोग्राम को असेंबल किया जाता है. दूसरी ओर, कंपाइलरों को एक Specific processor के लिए जेनेरिक उच्च-स्तरीय स्रोत कोड को मशीन कोड में बदलना चाहिए।

Assembly Language in Hindi

असेंबली लैंग्वेज एक निम्न-स्तरीय प्रोग्रामिंग भाषा है, जिसे एक असेंबलर द्वारा संकलित किया जाता है. प्रत्येक असेंबलर एक विशिष्ट कंप्यूटर वास्तुकला के लिए डिज़ाइन किया गया है. प्रोग्रामर असेंबली लैंग्वेज का उपयोग करते हुए मशीन भाषा के अनुरूप मानव पठनीय program लिख सकते हैं. असेम्बली भाषा को कम्प्यूटर प्रोग्रामिंग भाषा के विकास का पहला कदम माना जाता है, चूंकि मशीनी भाषा बायनरी कोड में लिखी जाती है जिसके केवल दो अंक होते हैं 0 और 1 लेकिन बाइनरी कोड संकेत समझना और उसमें program लिखना हमारे लिये संभव नहीं हैं इसलिये मनुष्‍य ने अपना काम आसान करने के लिये असेम्बली भाषा का निर्माण किया जिसमें बाइनरी संकेत अर्थात 0 और 1 के स्‍थान पर ऐसे अन्य शब्‍दों और अंकों का प्रयोग किया जाता है जिसे नेमोनिक कोड कहते हैं, जिसके कारण program को लिखना आसान हो गया, Assembly language एक ऐसी कम्प्यूटर प्रोग्रामिंग भाषा हैं जिसमे अंकीय संकेतो के स्थान पर अक्षर अथवा चिन्हो का प्रयोग किया जाता है, इस कारण Assembly language प्रतीक भाषा भी कहलाती है।

असेंबली लैंग्वेज – सबसे पुरानी और सरल श्रेणी की प्रोग्रामिंग लैंग्वेज, जिसका आविष्कार 1950 के दशक में पहले कंप्यूटरों के निर्माण के तुरंत बाद किया गया था. असेंबली लैंग्वेज में इंस्ट्रक्शनल कोड्स को इस तरह से अधिक यूजर-फ्रेंडली बनाया गया है, कि असेंबली लैंग्वेज में लिखे प्रोग्राम को देखकर 0 और 1s के सीक्वेंस की तुलना में कुछ स्टेप्स को आसानी से समझा जा सकता है. एक असेंबली भाषा एक प्रोग्रामिंग भाषा है जो कंप्यूटर में माइक्रोप्रोसेसर (चिप) को प्रोग्रामर (एक मानव) को यह बताने की अनुमति देती है, कि प्रोसेसर क्या करना है, विशिष्ट संचालन के संदर्भ में वास्तव में क्या करना है. कंप्यूटर के निर्देशों को आसानी से समझ में आने वाले छोटे शब्दों में लिखा जाता है, जिन्हें मेनेमिक्स कहा जाता है. उदाहरण के लिए, एमओवी डेटा को स्थानांतरित करने के लिए खड़ा है, एसयूबी घटाव के लिए खड़ा है, एडीडी इसके लिए खड़ा है, आदि सभी निर्देश बड़े अक्षरों में लिखे गए हैं. असेंबली लैंग्वेज के एक प्रोग्राम को एक असेंबलर के रूप में जाना जाने वाला सॉफ्टवेयर चाहिए, जो प्रोग्राम को mnemonics और डेटा से मशीनी भाषा में परिवर्तित करता है. इस मामले में भी कार्यक्रम पोर्टेबल नहीं हैं. फिर भी, कार्यक्रमों को लिखना और उन्हें डीबग करना आसान है।

उच्च-स्तरीय भाषाएँ (HLL) अधिक उपयोगकर्ता-अनुकूल हैं. इन भाषाओं में शब्द होते हैं जिन्हें कीवर्ड और अन्य सिंटैक्स टेक्स्ट कहते हैं, जो आसानी से समझ में आता है, भाषा को हमारी दिन-प्रतिदिन की भाषा के करीब बनाने का प्रयास किया जाता है. हालाँकि, प्राकृतिक भाषाओं का उपयोग कंप्यूटर भाषाओं के रूप में नहीं किया जा सकता क्योंकि वे सटीक नहीं हैं. सभी उच्च-स्तरीय भाषाओं में उपयुक्त शब्दों को चुना जाता है, और इनमें से प्रत्येक शब्द कंप्यूटर निर्देशों के एक समूह का प्रतिनिधित्व करने के लिए बनाया जाता है. एक कीवर्ड कई मशीन भाषा निर्देशों में अनुवाद कर सकता है. इस प्रकार, एचएलएल कोड की पंक्तियों की संख्या को कम कर देता है जो एक प्रोग्रामर लिखता है, लेकिन एचएलएल में लिखे गए कार्यक्रमों को वापस मशीन भाषा में बदलना होगा, इसके लिए हमें संकलक या दुभाषियों की आवश्यकता है. C एक संकलित भाषा है, कंपाइलर लगभग सभी कंप्यूटिंग प्लेटफॉर्म के लिए उपलब्ध हैं. यह ध्यान देने योग्य है कि मशीन भाषा में लिखे गए प्रोग्राम निष्पादन में सबसे अधिक कुशल होते हैं, क्योंकि इसमें कोई अनुवाद या व्याख्या शामिल नहीं होती है, जैसा कि सभी उच्च-स्तरीय भाषाओं में होता है।

आप विधानसभा भाषा और आह-स्तरीय भाषाओं के बीच के अंतर को BASIC, C, या पास्कल के रूप में इस तरह से सोच सकते हैं: एक उच्च-स्तरीय भाषा में एक कार्यक्रम “मुझ पर बिंदु,” कहने जैसा है, जबकि विधानसभा भाषा का संस्करण बताने जैसा है व्यक्ति कंधे को ऊपर उठाने वाली मांसपेशियों को अनुबंधित करने के लिए, फिर कोहनी का विस्तार करने वाली मांसपेशियों को अनुबंधित करें, और अंत में उन मांसपेशियों को अनुबंधित करें जो तर्जनी का विस्तार करती हैं. यह सादृश्य परिपूर्ण नहीं है, लेकिन यह आपको अंतर का स्वाद देना चाहिए, असेंबली में, प्रत्येक प्रोग्रामिंग लाइन सीधे प्रोसेसर की ममाचिन भाषा में एक निर्देश से मेल खाती है।

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

असेंबली लैंग्वेज क्या है (What is Assembly Language in Hindi)

असेंबली लैंग्वेज को मशीन लेवल कोड के निर्देशों के लिए मेनेमिक्स या सिंबल प्रदान करने के लिए पेश किया जाता है. असेंबली लैंग्वेज प्रोग्राम में एमनॉमिक्स शामिल है जिसे मशीन कोड में अनुवादित किया गया है. एक प्रोग्राम जो इस रूपांतरण के लिए उपयोग किया जाता है उसे कोडांतरक के रूप में जाना जाता है. असेंबली भाषा को निम्न-स्तरीय भाषा भी कहा जाता है क्योंकि यह सीधे CPU की आंतरिक संरचना के साथ काम करती है. असेंबली भाषा में प्रोग्रामिंग के लिए, एक प्रोग्रामर को CPU में सभी रजिस्टरों का ज्ञान होना चाहिए, विभिन्न प्रोग्रामिंग भाषाओं जैसे सी, सी ++, जावा और अन्य विभिन्न भाषाओं को उच्च-स्तरीय भाषाएं कहा जाता है क्योंकि वे CPU के आंतरिक विवरण के साथ काम नहीं कर रहे हैं।

असेंबली लैंग्वेज में लेबल ?

असेंबली लैंग्वेज में प्रयुक्त सभी लेबल नीचे दिए गए कुछ नियमों का पालन करते हैं, प्रत्येक लेबल का नाम अद्वितीय होना चाहिए. असेंबली लैंग्वेज प्रोग्रामिंग में लेबल के रूप में उपयोग किए जाने वाले नाम में लोअरकेस और अपरकेस दोनों में अक्षर होते हैं, 0 से 9 तक की संख्या और विशेष अक्षर जैसे (@), प्रश्न चिह्न (?), अंडरस्कोर (_), और डॉलर। ($) आदि, कार्यक्रम में आरक्षित शब्दों को लेबल के रूप में उपयोग करने की अनुमति नहीं है, उदाहरण के लिए, MOV और ADD शब्द आरक्षित शब्द हैं. पहला वर्ण एक वर्णमाला वर्ण होना चाहिए, यह एक संख्या नहीं हो सकती।

एक असेंबली भाषा एक विशिष्ट प्रकार के प्रोसेसर के लिए डिज़ाइन की गई एक निम्न-स्तरीय प्रोग्रामिंग भाषा है. इसे उच्च-स्तरीय प्रोग्रामिंग भाषा (जैसे C / C ++) से स्रोत कोड संकलित करके उत्पादित किया जा सकता है, लेकिन इसे स्क्रैच से भी लिखा जा सकता है. असेंबलर का उपयोग करके असेंबली कोड को मशीन कोड में बदला जा सकता है. लेकिन याद रहे आपका कंप्‍यूटर असेम्बली भाषा में लिखे प्रोग्राम को नहीं समझता है कम्प्यूटर मात्र बाइनरी संकेत अर्थात 0 और 1 यानि मशीनी भाषा को ही समझता है इसलिये असेम्बली भाषा में लिखे प्राेग्राम में लिखे प्रोग्राम को मशीनी भाषा में Translate किया जाता है और इस काम करता है प्रोग्रामिंग भाषा अनुवादक अब जो भाषा अनुवादक असेम्बली भाषा को मशीनी भाषा मेंं Translate करतेे हैं वह असेम्बलर (Assembler) कहलाते हैं।

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

MOV − डेटा को एक स्थान से दूसरे स्थान पर ले जाएं.

ADD − दो मान जोड़ें.

SUB − एक मूल्य को दूसरे मूल्य से घटाएं.

PUSH − स्टैक पर डेटा पुश करें.

POP − एक ढेर से पॉप डेटा.

JMP − किसी अन्य स्थान पर जाएं.

INT − एक प्रक्रिया को बाधित.

असेंबली भाषा कैसे काम करता है?

असेंबली भाषा में लिखे प्रोग्राम को चलाने के लिए हमें तो निमोनिक कोर्ट का उपयोग करना पड़ता है, फिर इन कोड को मशीनी भाषा में बदलने के लिए एक अनुवादक की जरूरत पड़ती है. जिसे हम असेंबलर कहते हैं Assembler का असेंबली भाषा में लिखे हुए प्रोग्राम को मशीनी भाषा में बदल देता है तथा कार्य पूरा होने उपरांत हमें Assembly language में लिखें प्रोग्राम के अनुसार उत्तर प्राप्त होता है. इसे हम उसी तरह से समझते हैं जैसे हम किसी दुसरे देश में जाते हैं और हमें हिंदी आती है और जिस देश में जा रहे हैं वह के लोग English में बात करते हैं तो हमें एक ऐसे बन्दे की जरुरत पड़ेगी जो हमें उस देश के लोगो के साथ बात करने के लिए English को हिंदी और हिंदी को English में बात करने में मदद कर सके उसे हम ट्रांसलेटर या अनुवादक कहेंगे। ऐसा करने के लिए अनुवादक को दोनों Languages का ज्ञान होना अति अवश्यक है ताकि वह बातचीत करने में सहायता कर सके।

असेंबली भाषा माइक्रोप्रोसेसरों और अन्य प्रोग्राम करने योग्य उपकरणों के लिए एक निम्न-स्तरीय प्रोग्रामिंग भाषा है. यह केवल एक भाषा नहीं है, बल्कि भाषाओं का समूह है. एक असेंबली भाषा किसी दिए गए सीपीयू आर्किटेक्चर को प्रोग्राम करने के लिए आवश्यक मशीन कोड का प्रतीकात्मक प्रतिनिधित्व लागू करती है. असेंबली भाषा को असेंबली कोड के रूप में भी जाना जाता है. यह शब्द अक्सर 2GL के साथ पर्यायवाची रूप से भी प्रयुक्त होता है।

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

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

असेंबली लैंग्वेज एक लो-लेवल प्रोग्रामिंग लैंग्वेज है. यह प्रोग्रामिंग भाषा को मशीन कोड को समझने में मदद करता है. कंप्यूटर में, असेंबलर होता है जो असेंबली कोड को Machine code executable में बदलने में मदद करता है. विधानसभा भाषा को निर्देश को समझने और आगे की प्रक्रिया के लिए मशीन भाषा प्रदान करने के लिए डिज़ाइन किया गया है. यह मुख्य रूप से सिस्टम की वास्तुकला पर निर्भर करता है चाहे वह ऑपरेटिंग सिस्टम हो या कंप्यूटर आर्किटेक्चर, असेंबली लैंग्वेज में मुख्य रूप से mnemonic processor निर्देश या डेटा और अन्य कथन या निर्देश होते हैं. इसे C, C ++ जैसे उच्च-स्तरीय भाषा स्रोत कोड को संकलित करने की सहायता से बनाया गया है, असेंबली भाषा कार्यक्रम को ठीक करने में मदद करती है।

Advantages

यह जटिल नौकरियों को सरल तरीके से चलाने की अनुमति देता है।

यह स्मृति कुशल है, क्योंकि इसमें कम मेमोरी की आवश्यकता होती है।

यह गति में तेज है, क्योंकि इसका निष्पादन समय कम है।

यह मुख्य रूप से हार्डवेयर उन्मुख है।

परिणाम प्राप्त करने के लिए इसे कम निर्देश की आवश्यकता होती है।

इसका उपयोग महत्वपूर्ण नौकरियों के लिए किया जाता है।

यह स्मृति स्थानों का ट्रैक रखने के लिए आवश्यक नहीं है।

यह एक निम्न-स्तरीय एम्बेडेड सिस्टम है।

 

उसी के लिए कोड लिखने में बहुत समय और प्रयास लगता है।

यह समझना बहुत जटिल और कठिन है।

वाक्य-विन्यास को याद रखना मुश्किल है।

इसमें विभिन्न कंप्यूटर आर्किटेक्चर के बीच प्रोग्राम की पोर्टेबिलिटी की कमी है।

असेंबली लैंग्वेज में लिखे गए लंबे प्रोग्राम को चलाने के लिए कंप्यूटर के आकार या मेमोरी की जरूरत होती है।

आपको Assembly Language क्यों सीखनी चाहिए?

प्रोग्रामर के लिए अभी भी असेंबली भाषा सीखना महत्वपूर्ण है. यह प्रणाली और इसके संसाधनों पर पूर्ण नियंत्रण लेने में मदद करता है. असेंबली भाषा सीखने से, प्रोग्रामर रजिस्टर को एक्सेस करने के लिए रजिस्टर करने में सक्षम होता है और पॉइंटर्स और वैल्यू के मेमोरी एड्रेस को पुनः प्राप्त करने में सक्षम होता है. यह मुख्य रूप से गति अनुकूलन में मदद करता है जो दक्षता और प्रदर्शन को बढ़ाता है. असेंबली लैंग्वेज लर्निंग प्रोसेसर और मेमोरी फंक्शन को समझने में मदद करता है. यदि प्रोग्रामर कोई भी प्रोग्राम लिख रहा है, जिसे कंपाइलर होने का मतलब है कि प्रोग्रामर को प्रोसेसर की पूरी समझ होनी चाहिए, असेंबली भाषा प्रोसेसर और मेमोरी के काम को समझने में मदद करती है, यह गूढ़ और प्रतीकात्मक भाषा है।

असेंबली लैंग्वेज सीधे हार्डवेयर से संपर्क करने में मदद करती है. यह भाषा मुख्य रूप से कंप्यूटर वास्तुकला पर आधारित है और यह कुछ प्रकार के प्रोसेसर और अलग-अलग सीपीयू के लिए इसकी पहचान करता है. असेंबली भाषा अन्य उच्च स्तरीय भाषाओं की तुलना में पारदर्शी होती है. इसमें संचालन की एक छोटी संख्या है लेकिन यह एल्गोरिदम और नियंत्रण के अन्य प्रवाह को समझने में मददगार है. यह कोड को कम जटिल और आसान डिबगिंग भी बनाता है।